Scuprite u Command Linux - aghjustate

Nome

Aspettu, espertu - aspittà per a terminazione di u processu

Sinopsia

#include
#include

pid_t wait (int * status );
pid_t waitpid (pid_t pid , int * status , int options );

Descrizzione

A funzioni d'aghjurnà suspende l'esekzione di u prucessu attuale finu à chì un zitellu hè sminutu, o finu à chì un signalu hè entru l'accionu hè d'abbandunà u prucessu attuale o di chjamà una funzione di manighjà di signalà. Se un zitellu hè stata sappiutu da u tempu di a chjamata (un prucessu di "zombie"), a funzione retorna immedtamente. Ogni risorsu di u sistema utilizatu da u zitellu sò liberati.

A funesta waitpid suspende l'esekzione di u prucessu attuale finu à chì un ziteddu cusì specifatu per l'argumentu pid hà sguassatu, o finu à chì un signale hè entru l'accetta di quellu di finiscinu u prucessu attuale o di chjamà a funzione di manighjà di signalà. Se un zitellu cumu dumandatu per pid hà digià smarratu da u tempu di a chjamata (un prucessu chjamatu "zombie"), a funzione retorna immedtamente. Ogni risorsu di u sistema utilizatu da u zitellu sò liberati.

U valore di pid pò esse unu di:

<-1

chì significheghja aspittà per qualsiasi prucessu maternu chì u furmatu di u gruppu di prucessu hè uguali à u valore assolutu di u pid .

-1

chì significheghja aspittà per qualunqui procuratu; Questu hè u listessu cumpurtamentu chì dete esce.

0

chì significheghja aspittà per qualsiasi prucessu maternu chì u furmatu di u gruppu di processu hè uguali à quellu di u prucessu chjamatu.

> 0

chì significheghja aspittà per u zitellu chì u vostru ID di processe hè uguali à u valore di u pid .

U valore di l' opzioni hè un OR de zero o più di e custanti seguenti:

WNOHANG

chì significa di vultà immediatament s'ellu ùn hè micca sughjettu.

ATRATA

chì vole ancu di ritornu per i zitelli chì sò stati, è chì u so status hè micca statu infurmatu.

(Per opzioni solu di Linux, vede quì sottu).

S'ellu ùn hè statu NULL , aghjustà o stèdite l'estatica di l'estatica di almacenamento in u locu indicatu per u statutu .

Questu statutu ponu esse evaluatu cù e macrosi siguenti (queste macros pigghianu l'statutu buffer (un int ) com'è argumentu --- micca un puntero à u buffer!):

RITORNATA ( status )

hè micca nimu si u zitellu sguassatu normalment.

WEXITSTATUS ( status )

evalueghja à l'altru significativu ottu pezzi di u codice di u reticciu di u zitellu chì finita, chì pò esse stabilitu com'è l'argumintazzioni à una chjamata à surtite () o cum'è l'argumintazzioni per una stima di ritornu in u prugramma principale. Questa macro pò esse evaluata solu se WIFEXITED riturnò nisiru.

WIFSIGNALED ( status )

Turnate vera si u procuratu di u zitellu sò fora da un signale chì ùn era micca attitatu.

WTERMSIG ( status )

torna u numaru di u signale chì hà causatu à u prucedimentu di zitellu finiscinu. Questa macro pò esse evaluata solu se WIFSIGNALED volte à non-zero.

WIFSTOPPED ( status )

torna verissime se u prucessu zitellu chì pruvucà a vultata hè attualmente cadurata; questu hè solu pussibile si u chjamatu hè stata fatta cun UTRATU .

WSTOPSIG ( status )

torna u numaru di u signale chì hà permessu chì u zitellu parò. Questa macro pò esse evaluata solu se WIFSTOPPED volte à non-zero.

Alcuni versioni di Unix (per esempiu, Linux, Solaris, ma micca AIX, SunOS) defineanu puru una macro WCOREDUMP ( status ) per pruvà si u zitellu prugramu di u core di dumping. Solu aduprà chjusu in #ifdef WCOREDUMP ... #endif.

Ritorna Valurita

L'identità di processu di u zitellu chì hè sughjettu, o cero se WNOHANG hè stata utilizata è micca un ziteddu era dispunibile, o -1 nantu à errore (in quale casu errno hè stituutu à un valore appropritatu).

Errori

CUNDIZ

se u processu especificatu pidò ùn esisti micca o ùn hè micca un zitellu di u prucessu chjamatu. (Cumu possu successu per u so propiu babbu si l'action per SIGCHLD hè settore à SIG_IGN. Vede ancu a pagina di LINUX NOTES nantu à i filamenti.)

EINVAL

se l'argumentu di l' opzioni era micca validu.

EINTR

se WNOHANG ùn hè micca stabilitu è ​​un signalu micca liberatu o un SIGCHLD hè stata capata.