Ithute ho laola Linux

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.