Lebitso
ema, emela - leta bakeng sa tshebetso ea ho felisoa
Lintlhakiso
#include
#include
pid_t emela (int * boemo );
pid_t waitpid (pid_t pid , int * boemo , dik dikgetho );
Tlhaloso
Mosebetsi oa ho ema o emisa ts'ebetsong ea ts'ebetso ea morao ho fihlela ngoana a tsoa, kapa ho fihlela ho fanoa pontšo eo ketso ea hae e leng ho felisa ts'ebetso ea morao-rao kapa ho bitsa mosebetsi oa ho sebetsana le pontšo. Haeba ngoana a se a tsoa ka nako ea pitso (e bitsoang "zombie" tshebetso), tshebetso e kgutla hang-hang. Ts'ebeliso efe kapa efe ea tsamaiso e sebelisoang ke ngoana e lokolloa.
Mosebetsi oa waitpid o emisa ho phethahatsa ts'ebetso ea morao ho fihlela ngoana o boletsoeng ke moqoqo oa pid o felile, kapa ho fihlela pontšo e fanoa eo ketso ea hae e leng ho felisa ts'ebetso ea hona joale kapa ho bitsa mosebetsi oa ho sebetsana le pontšo. Haeba ngoana ha a ntse a kōpa pid e se e tsoa ka nako ea pitso (e bitsoang "zombie" tshebetso), tshebetso e kgutla hang-hang. Ts'ebeliso efe kapa efe ea tsamaiso e sebelisoang ke ngoana e lokolloa.
Bohloko ba pid e ka ba e 'ngoe ea:
<-1
e bolelang ho emisa ts'ebetso leha e le efe ea ngoana eo ID ea sehlopha sa tshebetso e lengkanang le tekanyo e feletseng ea pid .
-1
e bolelang ho emisa ts'ebetso ea bana; ena ke boits'oaro bo tšoanang bo emetseng lipontšo.
0
e bolelang ho emisa ts'ebetso ea bana leha e le efe eo ID ea sehlopha sa ts'ebetso e leng eona e lekanang le ea mokhoa oa ho bitsa.
> 0
e bolelang ho letela ngoana eo palo ea hae ea tshebetso e lengkanang le boleng ba pid .
Bohlokoa ba dikgetho ke OR kapa ea zero kapa tse ling tsa mekhahlelo e latelang:
WNOHANG
e bolelang ho khutla kapele haeba ho se na ngoana ea tsoileng.
E NAHANA
e bolelang ho khutlela bana ba emisitsoeng, le boemo ba bona bo sa boleloang.
(Bakeng sa likhetho tsa Linux feela, bona ka tlaase.)
Haeba boemo bo se NULL , tlhahisoleseding ea maemo a boemo ba lebenkele ba lebenkele sebakeng seo ho buuoang ka sona ka maemo .
Sebaka sena se ka hlahlojoa ka macros a latelang (macros ana a nka setempe sa molao ( int ) e le khang --- eseng pointer ho buffer!):
WIFEXITED ( boemo )
ha e na noro haeba ngoana a tsoa ka tloaelo.
WEXITSTATUS ( boemo )
e hlahloba likarolo tse robeli tsa bohlokoa tsa ngoana oa ho khutlisa o khaotsitseng, e ka 'nang eaba o behiloe e le khang ho pitso ea ho tsoa () kapa e le khang ea polelo ea ho khutlela lenaneong le leholo. Ena e kholo e ka hlahlojoa feela haeba WIFEXITED e khutlile eseng ea zero.
WIFSIGNALED ( boemo )
e tsosolosa 'nete haeba ts'ebetso ea ngoana e tsoa ka lebaka la letšoao le sa kang la tšoaroa.
WTERMSIG ( boemo )
e khutlisa palo ea pontšo e entseng hore ts'ebetso ea ngoana e felisoe. Ena e kholo e ka hlahlojoa feela haeba WIFSIGNALED e khutla eseng ea zero.
WIFSTOPPED ( boemo )
e tsosolosa 'nete haeba ts'ebetso ea ngoana e entseng hore ho khutla hona joale e emisoe; sena se ka etsahala feela haeba pitso e etsoa ka WUNTRACED .
WSTOPSIG ( boemo )
e khutlisa palo ea pontšo e entseng hore ngoana a emise. Ena e kholo e ka hlahlojoa feela haeba WIFSTOPPED e khutla eseng ea zero.
Liphetolelo tse ling tsa Unix (mohlala, Linux, Solaris, empa e seng AIX, SunOS) le tsona li hlalosa WCOREDUMP ( maemo ) a mangata ho hlahloba hore na ts'ebetso ea ngoana e lahlehetsoe joang. Sebelisa feela se koetsoeng ka #ifdef WCOREDUMP ... #endif.
Khutlela Palo
Tlhahlobo ea ts'ebetso ea ngoana eo e neng e tsoa, kapa e le hore haeba WNOHANG e sebelisitsoe mme ha ho na ngoana ea neng a le teng, kapa -1 ka phoso (ka nako eo, errno e behiloe ho bohlokoa bo loketseng).
Liphoso
ECHILD
haeba mokhoa o boletsoeng ho oona pid ha e eo kapa hase ngoana oa mokhoa oa ho letsetsa. (Sena se ka etsahala bakeng sa ngoana oa hao haeba ketso ea SIGCHLD e behiloe SIG_IGN. Bona hape karolo ea LINUX NOTES mabapi le likhoele.)
EINVAL
haeba mekhoa ea khang e ne e sa nepahale.
EINTR
haeba WNOHANG e ne e sa behoa le letšoao le sa thijoeng kapa SIGCHLD e ile ea tšoaroa.