E aʻo i ka Linux Linux - e kali

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 .