Inoa
kali, waitpid - e kali i ka hoʻopauʻana i ka hoʻopau
Hōʻuluʻulu
#include
#include
pid_t kali (int * kūlana );
pid_t waitpid (pid_t pid , int * kūlana , koho koho );
Hōʻike
Ke kali nei ka hana hoʻomaha i ka hana o ke kaʻina o ka manawa a hiki i ka pukaʻana o kahi keiki, a hiki i ka hoʻounaʻana o kahi hōʻailona i kāna hana e hoʻopau i ke kaʻina o kēia manawa a iʻole e kāhea i kahi hana lawelawe hōʻailona. Inā hele mua kahi keiki ma ka manawa o ke kāhea (kahi i kapaʻia "zombie"), e hoʻi koke ka hana. Ua hoʻokuʻuʻia nā'ōnaehana pūnaewele i hoʻohanaʻia e ke keiki.
Ke kali nei ka hana hoʻolālā i ka hana o ke kaʻina hana ā hiki i kahi keiki e like me ka'ōlelo a ka hoʻopiʻi pid i hoʻopuka ai, a hiki i ka hoʻounaʻana o kahi hōʻailona e hana i ka hoʻopauʻana i ka hana o kēia manawa a iʻole e kāhea i kahi hana lawelawe hōʻailona. Inā ua hele mua kahi keiki e like me ka noiʻana o ka pid i ka manawa o ka pihi (kahi i kapaʻia "zombie"), e hoʻi koke ka hana. Ua hoʻokuʻuʻia nā'ōnaehana pūnaewele i hoʻohanaʻia e ke keiki.
ʻO ka nui o ka pid ke hana i hoʻokahi o:
<-1
ʻo ia keʻano e kakali ai no ka'ōnaehana'ōpiopio e pili ana ka hui o ka hui i ka mea kūpono o ka pid .
-1
ʻo ia keʻano e kali ai no ka'ōnaehana keiki; ʻO kēia keʻano likeʻole e kali ana i nā hōʻike.
0
ʻo ia keʻano e kakali ai no ka'ōnaehana'ōpiopio e pili ana kaʻokoʻa o ka huiʻo ID i kēlā me kēia hana.
> 0
ʻo ia keʻano e kali ai i ke keiki i like ka helu o ka hoʻohālike i ka waiwai o ka pid .
ʻO ka waiwai o nā koho , he OR a zero aʻoi aku paha o nā mau kīʻaha hou:
WNOHANG
ʻo ia hoʻi ka hoʻi kokeʻana ināʻaʻole i puka kahi keiki.
Hoʻopiʻia
ʻo ia hoʻi ka hoʻiʻana no nā keiki i paniʻia, aʻaʻole hoʻi i hōʻikeʻia ko lākou kūlana.
(No nā koho Linux-wale nō, e nānā i lalo.)
Inā kūʻole ke kūlana NULL , e kali a kali paha i kahi kūlana kūlana hale waihona i kahi i kuhikuhiʻia e ke kūlana .
Hiki ke hoʻohālikelikeʻia kēia kūlana me nā macro o kēia mau mea (kēia mau macro e lawe i ka pahu paʻi ( int. ) Ma keʻano he kumu kūpono -ʻaʻole kahi poʻeneʻa i ka paena!):
ʻO WIFEXITED ( kūlana )
ʻaʻohe zero inā hele ke keiki i ka maʻamau.
WEXITSTATUS ( kūlana )
ke helu nei i nā hapaʻewalu nui o ka helu hoʻihoʻi o ke keiki i hoʻopauʻia, a inā paha i hoʻonohonohoʻia e like me ke kū'ē'ē i kahi kiʻina e hele () aiʻole no ka pane no kahi hōʻike hōʻike i ka papahana nui. Hiki ke loiloiʻia kēia macro inā ua hoʻihoʻi maiʻo WIFEXITED i kaʻole zero.
WIFSIGNALED ( kūlana )
hoʻi pono ināʻo ka puka'ōpio e hele i waho no ka hōʻailona i loaʻaʻole.
WTERMSIG ( kūlana )
hoʻi i ka helu o ka hōʻailona i hoʻoholo i ke keiki e hoʻopau. Hiki ke loiloiʻia kēia macro inā hoʻihoʻiʻiaʻo WIFSIGNALED no ka meaʻole ka zero.
ʻO WIFSTOPPED ( kūlana )
hoʻi i kaʻoiaʻiʻo inā hiki ke hanaʻia ka'ōnaehana keiki e kū ai ka hoʻihoʻi; hiki i kēia ke hana inā hoʻohanaʻia ka piʻoʻana me WUNTRACED .
WSTOPSIG ( kūlana )
hoʻi i ka helu o ka hōʻailona i hoʻomaha ai ke keiki. Hiki ke loiloiʻia kēia macro inā i hoʻihoʻiʻiaʻo WIFSTOPPED me ka meaʻole.
ʻO kekahi mau pūnaewele o Unix (e like me Linux, Solaris, akāʻaʻoleʻo AIX, SunOS) e ho'ākāka pū i kahi mea WCOREDUMP ( koʻikoʻi ) no ka ho'āʻoʻana i ka hoʻopauʻana o ka'ōpili keiki. E hoʻohana wale i kēia i hoʻopaʻaʻia ma #ifdef WCOREDUMP ... #endif.
Hōʻuluʻulu Manaʻo
Ka ID processus o ke keiki i hoʻokuʻuʻia, aiʻoleʻole inā hoʻohanaʻiaʻo WNOHANG aʻaʻohe keiki, a -1 paha i hewa (kahi i hoʻonohoʻia ai errno i kahi kūpono kūpono).
Nā Haʻia
ECHILD
ināʻo ka hana i ho'ākākaʻia i loko ʻAʻole i loaʻa kahi pid aʻaʻole hoʻi he keiki ia o ke kaʻina hana. (Hiki iā ia ke hana no kahi keiki pono'ī inā e hoʻonohoʻia ka hana no SIGCHLD i SIG_IGN. E nānā i kaʻaoʻao LINUX NOTES e pili ana i nā pae.)
EINVAL
ināʻaʻohe pono ka manaʻo koho .
EINTR
ināʻaʻole i hoʻonohoʻia WNOHANG a hōʻailona hōʻailona aiʻole i loaʻa kekahi SIGCHLD .