Dzidzai Linux Mirairo

Zita

kumirira, wait wait - kumirira kuronga kuguma

Zvinyorwa

#include
#include

pid_t wait (int * chimiro );
pid_t waitpid (pid_t pid , int * chimiro , mukati maitiro );

Tsanangudzo

Chimiro chemiitiro chinosimudzira kusarudzwa kwezvinoitika kusvikira mwana asvika, kana kusvikira chiratidzo ichibudiswa chaanoita kugumisa kushandiswa kwezvino kana kudana chiratidzo chekubata basa. Kana mwana atobuda kubva panguva yekudana (anonzi "zombie"), basa rinodzoka pakarepo. Chero hurongwa huripo hunoshandiswa nemwana hunosunungurwa.

Izvozvo zvinoshandiswa zvinomisa kusarudzwa kwezvinoitika kusvikira mwana sezvaanotsanangurwa nepid argument yakabuda, kana kuti kusvikira chiratidzo chinopihwa chiito chake chiri kupedza chirongwa chazvino kana kudana chiratidzo chekubata basa. Kana mwana sezvaakakumbirwa na pid akatobuda kubva panguva yekudana (anonzi "zombie"), basa rinodzoka pakarepo. Chero hurongwa huripo hunoshandiswa nemwana hunosunungurwa.

Kukosha kwepid kunogona kuva imwe ye:

<-1

izvo zvinoreva kumirira chero mwana wega nzira iyo maitiro echikwata chechikwata akaenzana nekukosha kwakakwana kwepid .

-1

izvo zvinoreva kumirira chero mwana wega nzira; ichi ndicho chimiro chakafanana chinomirira kuratidzwa.

0

izvo zvinoreva kumirira chero mwana wega nzira iyo maitiro echikwata chechikwata chakaenzana neicho chekudanidzira.

> 0

izvo zvinoreva kumirira mwana uyo ane chirongwa chekuenzanisa chakaenzana nekukosha kwepid .

Kukosha kwezvasarudzo ndeye OR kana zero kana zvimwe zvezviitiko zvinotevera:

WNOHANG

izvo zvinoreva kudzoka pakarepo kana pasina mwana akabuda.

WUNTRACED

izvo zvinoreva kudzokera zvakare kune vana vakamira, uye vane chimiro chisina kuziviswa.

(Pamusoro pezvinhu zve Linux-chete, ona pasi apa.)

Kana mamiriro asiri NULL , rindira kana kuti chekuchengetedza ruzivo rwemamiriro ehutori chekuchengetedza munzvimbo iyo yakarondedzerwa nesimo .

Izvi zvinogona kuongororwa nema macros anotevera (idzi macros dzinotora stat buffer (an int ) senharo-kwete chirevo kumutsotsi!):

WIFEXITED ( chimiro )

hazvisi zero kana mwana wacho akabuda kazhinji.

WEXITSTATUS ( chimiro )

inotarisa kune zvishoma zvishoma zvisungo zvitanhatu zvekudzoka kwekodhi yemwana akagumisa, izvo zvingave zvakagadziriswa semakakatanwa kumushumo wokubuda () kana sekupikisa kwekudzoka kwekudzoka mune purogiramu huru. Ichi chikuru chinogona kuongororwa chete kana WIFEXITED yakadzoka isiri zero.

WIFSIGNALED ( chimiro )

inodzokera kuchokwadi kana mwana wacho achinge abuda nokuda kwechiratidzo chisina kubatwa.

WTERMSIG ( chimiro )

anodzosera nhamba yechiratidzo chakakonzera kuti mwana wacho agadziriswe. Ichi chikuru chinogona kuongororwa chete kana WIFSIGNALED yakadzoka isiri zero.

WIFSTOPPED ( chimiro )

rinodzoka rechokwadi kana mwana akatoita izvo zvakakonzera kudzoka ikozvino kwakamira; izvi zvinongobvira chete kana kudanwa kwaitwa kuburikidza uchishandisa WUNTRACED .

WSTOPSIG ( chimiro )

anodzosera nhamba yechiratidzo icho chakaita kuti mwana amire. Ichi chikuru chinogona kuongororwa chete kana WIFSTOPPED ichidzoka isiri zero.

Dzimwe shanduro dze Unix (kureva Linux, Solaris, asi kwete AIX, SunOS) dzinotsanangurawo WCOREDUMP ( chimiro ) macro kuti aone kana mwana wacho akaregerera demo. Ingoshandisa izvi zvakapetwa mu #ifdef WCOREDUMP ... #endif.

Dzorera kukosha

Nzira yekuziva iyo yemwana yakabuda, kana zero kana WNOHANG yaishandiswa uye pasina mwana yaivepo, kana -1 pakukanganisa (mumamiriro ezvinhu iyo errno yakagadzirirwa kune yakakodzera kukosha).

Zvikanganiso

ECHILD

kana iyo inotsanangurwa iyo pid haisipo kana haisi mwana wekudanidzira . (Izvi zvinogona kuitika kumwana wako pachako kana chiito cheSIGCHLD chigadzirirwa ku SIG_IGN. Onawo iyo LINUX NOTES chikamu pamusoro pemakumbo.)

EINVAL

kana sarudzo dzekusarudza dzakanga dzisingabhadhari.

EINTR

kana WNOHANG yakanga isina kuiswa uye chiratidzo chisina kubviswa kana SIGCHLD yakabatwa.