Ainm
fanacht, waitpid - fanacht le foirceannadh próisis
Achoimre
#include
#include
pid_t wait (int * stádas );
pid_t waitpid (pid_t pid , int * stádas , roghanna int );
Cur síos
Cuireann an fheidhm fan ar fionraí go gcuirfear an próiseas reatha i bhfeidhm go dtí go mbeidh leanbh ar siúl, nó go dtí go gcuirtear comhartha ar fáil a bhfuil an gníomh aige an próiseas reatha a fhoirceannadh nó feidhm láimhseála comharthaí a ghairm. Má tá an leanbh tar éis dul i bhfeidhm cheana féin le linn an ghlao (próiseas "zombie" mar a thugtar air), filleann an fheidhm láithreach. Saorthaítear aon acmhainní córas a úsáideann an páiste.
Fionraítear feidhm an fhrithánaigh ar fheidhmiú an phróisis reatha go dtí go leanann leanbh mar a shonraítear ag an argóint pid , nó go dtí go gcuirtear comhartha ar fáil a bhfuil sé de dhualgas an próiseas reatha a fhoirceannadh nó feidhm láimhseála comharthaí a ghairm. Má tá leanbh de réir mar a d'iarr an pid tar éis am an ghlao (próiseas "zombie" mar a thugtar air) a thosú cheana féin, filleann an fheidhm láithreach. Saorthaítear aon acmhainní córas a úsáideann an páiste.
Is féidir le luach an pid a bheith ar cheann de na nithe seo a leanas:
<-1
rud a chiallaíonn fanacht le haon phróiseas leanbh a bhfuil aitheantas grúpa próisis comhionann le luach iomlán pid .
-1
rud a chiallaíonn fanacht le haon phróiseas leanbh; is é seo an iompar céanna a fhanann taispeántais.
0
rud a chiallaíonn fanacht le haon phróiseas leanbh a bhfuil aitheantas grúpa próisis comhionann leis an bpróiseas glaonna.
> 0
rud a chiallaíonn fanacht leis an leanbh a bhfuil aitheantas próisis comhionann le luach an pid .
Is é OR na n- roghanna ná náid nó níos mó de na constants seo a leanas:
WNOHANG
rud a chiallaíonn go dtiocfaidh sé ar ais láithreach mura bhfuil aon leanbh ar siúl.
WUNTRACED
rud a chiallaíonn go gcuirfí ar ais do leanaí a stopadh, agus nach bhfuil a stádas tuairiscithe.
(Le haghaidh roghanna Linux-amháin, féach thíos.)
Mura bhfuil an stádas ar eolas stádais NULL , fan nó stáisiún stádais sa suíomh atá dírithe ar stádas .
Is féidir an stádas seo a mheas leis an macra seo a leanas (déanann na macraí seo an maolán statach (ar int ) mar argóint --- gan pointeoir ar an maolán!):
DÍOLADH ( stádas )
nach bhfuil nialasach má theastaíonn an leanbh de ghnáth.
WEXITSTATUS ( stádas )
déanann sé meastóireacht ar na hocht ocht giotán suntasacha ar a laghad de chód fillte an linbh a chríochnaigh, a d'fhéadfadh a bheith leagtha síos mar an argóint le glao chun scoir () nó an argóint le haghaidh ráiteas ar ais sa phríomhchlár. Ní féidir an macra seo a mheas ach amháin má fhill WIFEXITED neamh-nialas.
WIFSIGNALED ( stádas )
tuairisceán fíor má thosaigh an próiseas páiste mar gheall ar chomhartha nach raibh gafa.
WTERMSIG ( stádas )
tuairisceán a thabhairt ar líon na comhartha a d'fhág go dtiocfadh deireadh le próiseas an pháiste. Ní féidir an macra seo a mheas ach amháin má fhill WIFSIGNALED neamh-nialas.
WIFSTOPPED ( stádas )
tuairisceán fíor má tá an próiseas páiste a d'fhág an tuairisceán stopadh faoi láthair; ní féidir é seo ach amháin má rinneadh an glao ag baint úsáide as WUNTRACED .
WSTOPSIG ( stádas )
tuairisceán na comhartha a d'fhág an leanbh a stopadh. Ní féidir an macra seo a mheas ach amháin má d'fhill WIFSTOPPED neamh-nialas.
Sainmhíníonn roinnt leaganacha de Unix (m.sh. Linux, Solaris, ach ní AIX, SunOS) macasamhail WCOREDUMP ( stádas ) chun tástáil a dhéanamh ar an bpróiseas leanbh a dumpáil croí. Bain úsáid as seo ach amháin i #ifdef WCOREDUMP ... #endif.
Luach Tuairisceáin
ID próiseas an linbh a tháinig amach, nó náid má úsáidtear WNOHANG agus ní raibh aon leanbh ar fáil, nó -1 ar earráid (sa chás sin tá luachanna leagtha síos ar luach cuí).
Earráidí
ECHILD
má tá an próiseas sonraithe in níl pidin ann nó ní leanbh í den phróiseas glaonna. (Féadfaidh sé seo tarlú do leanbh amháin má tá an gníomh don SIGCHLD leagtha síos ar SIG_IGN. Féach freisin an rannóg NÓTAÍ LINUX faoi snáitheanna.)
EINVAL
má bhí an argóint roghanna neamhbhailí.
EINTR
más rud é nach raibh WNOHANG socraithe agus gabhadh comhartha dífhillte nó SIGCHLD .