Омӯзед Linux Command - wait

Ном

интизор шавед, waitpid - интизор шавед

Калима

#include
#include

wait pt_t wait ( status * int );
pid_t waitpid (pid_t pid , status * int, вариантҳои мобилӣ );

Тавсифи

Функсияҳои интизорӣ иҷро кардани раванди ҷорӣро то он даме, ки кӯдаки берун аз синф мононда ё то он вақте, ки сигнал расонида мешавад, ки амали он қатъ кардани раванди ҷорӣ ё фишанги равонии зангро талаб мекунад. Агар кӯдаке, ки аллакай бо занги зангӣ (номбаршудаи "zombie") баромадааст, функсия фавран бармегардад. Ҳар гуна захираҳои система, ки аз тарафи кӯдак истифода мешаванд, озод карда мешаванд.

Функсияҳои мунтазам иҷро кардани раванди ҷорӣро то он даме, ки аризаи шиканҷаро муайян мекунад, ё то он вақте, ки сигнал расонида мешавад, ки амали он қатъ кардани раванди ҷорӣ ё функсия кардани вазифаи сигнал мебошад. Агар кӯдаке, ки аз ҷониби марҳилаи дархостшавӣ дархост карда шуда буд, аллакай бо вақти зангӣ (бо номи "zombie") рух дод, функсия фавран бармегардад. Ҳар гуна захираҳои система, ки аз тарафи кӯдак истифода мешаванд, озод карда мешаванд.

Арзиши эфир метавонад яке аз:

<-1

ки маънои онро дорад, ки ҳар як раванди кӯтоҳро интизор шавед, ки ID-и гуруҳии онҳо ба арзиши мутлақии PD баробар аст .

-1

ки маънои онро дорад, ки ҳар гуна раванди кӯдакон интизор бошад; Ин ҳамон рафтори оптималии интихоби намоиш аст.

0

ки маънои интихоби ҳар як раванди кӯдакон, ки ID ном дорад, ба ҳамон раванди зангҳо баробар аст.

> 0

ки маънои онро дорад, ки кӯдакеро, ки ID ном дорад, ба арзиши PID интизор аст .

Арзиши вариантҳо OR-и сифр ё бештар аз ин шартҳои зерин мебошанд:

ВНОХХ

ки маънои онро дорад, ки фавран баргардад, агар ягон кўдак берун наравад.

Шабака

ки маънои онро дорад, ки инчунин барои кӯдаконе, ки боздошт шудаанд ва ҳолати он хабар дода нашудааст, бармегарданд.

(Барои вариантҳои Linux, ба поён нигаред.)

Агар ҳолати NULL набошад, интишор ё дар бораи мавқеъ дар бораи мавқеъи мавқеъ дар мавқеъе, ки ба он ишора шудааст, интишор кунед.

Ин статус метавонад бо макросҳои зерин арзёбӣ карда шавад (ин мизҳо ҳамчун допинги статсионарӣ ( int ) ҳамчун далели --- на як нишондиҳанда ба домейнҳо гирифта мешавад!):

WIFEXITED ( статус )

агар синну сол одатан аз берун баромада бошад.

МУСОҲИБА

ба ҳашт номаи камтарин рамзи бозгашти кӯдаки фарзандаш, ки метавонад ҳамчун далели ба занги баромадан () ё ҳамчун далели эъломияи эъломия дар барномаи асосӣ муайян карда шавад, арзёбӣ мешавад. Ин макро танҳо метавонад арзёбӣ шавад, агар WIFEXITED ғайримутамарказ баргардонида шавад.

ШАҲРИ ҚӮРҒОНТЕППА

баргардад, агар дар натиҷаи сигнали дастгиршуда аз сабаби баланди рафтори кӯдакон берун барояд.

Шабака

Шумораи сигналие, ки боиси марги кӯдакон мегардад, бар мегардонад. Ин макро танҳо метавонад арзёбӣ шавад, агар WIFSIGNALED бефосила баргардонида шавад.

ШАҲРИ ҚӮРҒОНТЕППА

агар баргардад, раванди кӯдаконе, Ин танҳо имконпазир аст, агар занг бо истифода аз WUNTRACED анҷом дода шавад .

WSTOPSIG ( статус )

рақами сигналро бармегардонад, ки кӯдакро қатъ кунад. Ин макро танҳо метавонад арзёбӣ шавад, агар WIFSTOPPED бефарзанд баргардонида шавад.

Баъзе вариантҳои Unix (масалан, Linux, Solaris, аммо AIX, SunOS) ҳамчунин муайян кардани макрос WCOREDUMP ( статус ) барои санҷидани он, ки раванди кӯдакон асосан хароб гардидааст. Танҳо онро истифода баред #ifdef WCOREDUMP ... #endif.

Арзишро баргардонед

Нишондиҳандаи раванди кӯдаки берун аз синф , ё сифр, агар WNOHANG истифода шуда бошад ва ягон кӯдаке мавҷуд набошад ё -1 хатогӣ (дар ҳолате, ки хато ба арзиши мувофиқ муқаррар карда мешавад).

Хатогӣ

ECHILD

агар раванди дар поён зикршуда бошад pid вуҷуд надорад ё кӯдаки раванди даъват нест. (Ин метавонад барои яке аз фарзанди худ рӯй диҳад, агар амали SIGCHLD ба SIG_IGN муқаррар карда шавад. Ҳамчунин нигаред ба қисмҳои LINUX дар бораи силсилаҳо.)

EINVAL

агар далелҳои алтернативӣ нодуруст бошад.

EINTR

агар WNOHANG муқаррар нашуда бошад ва сигналҳои кушода ё SIGCHLD гирифта шудааст.