Funda i-Linux Command - ukulinda

Igama

ulinde, ulinde - ulinde inkqubo yokuphelisa

Isiqendu

#include
#include

pid_t ulinde (int * isimo );
pid_t waitpid (pid_t pid , int * isimo , int ongaphakathi );

Inkcazo

Umsebenzi wokulinda unqanda ukuqhutyelwa kwenkqubo yangoku kude kube umntwana ephumayo, okanye ade afike umqondiso owenza isenzo sakhe ukuphelisa inkqubo yangoku okanye ukubiza umsebenzi wokuphatha impawu. Ukuba umntwana usuvele uphuma ngexesha lokufowunelwa (inkqubo ebizwa ngokuba yi "zombie"), umsebenzi ubuya ngokukhawuleza. Naliphi na indlela inkqubo ezisetyenziswe ngumntwana zikhululiwe.

Umsebenzi we- waitpid ugxininisa ukusetyenziswa kwenkqubo yangoku kude kube ngumntwana njengoko kuchaziwe ngxabano ye- pid , okanye kude kube nomqondiso okhutshweyo isenzo sakhe sokuphelisa inkqubo yangoku okanye ukubiza umsebenzi wokuphatha impawu. Ukuba umntwana njengoko kucelwe i- pid sele sele iphuma ngexesha lokubiza (inkqubo ebizwa ngokuba yi "zombie"), umsebenzi ubuya ngokukhawuleza. Naliphi na indlela inkqubo ezisetyenziswe ngumntwana zikhululiwe.

Ixabiso le- pid linokuba linye ye:

<-1

oku kuthetha ukulinda nayiphi na inkqubo yomntwana onokuthi i-ID yeqela yeprogram ilingana nexabiso elipheleleyo le- pid .

-1

oku kuthetha ukulinda nayiphi na inkqubo yomntwana; Oku kukuziphatha okufanayo okulindele imibukiso.

0

oku kuthetha ukulinda nayiphi na inkqubo yomntwana e- ID yeqela leprogram elingana neyo yokubiza.

> 0

oku kuthetha ukulinda umntwana onokuthi i-ID yenqubo yakhe ilingana nexabiso le- pid .

Ixabiso lezinto ezikhethiweyo yi-OR okanye i-zero okanye ngaphezulu kwezi zihlandlo ezilandelayo:

WNOHANG

oku kuthetha ukubuyela ngokukhawuleza ukuba akukho mntwana uye waphuma.

ZITHINTWE

oku kuthetha ukubuyela kwakhona kubantwana abamisiwe, kwaye isimo sabo asizange sichazwe.

(Kukhetho lwe Linux kuphela, jonga ngezantsi.)

Ukuba isimo asikho i- NULL , lindela ulwazi lwendawo yolondolozo okanye ulondolozo kwindawo echazwe kuyo yimo .

Eli gangatho linokuhlolwa kunye nama macros alandelayo (la macros athatha umthamo wesigxina ( int ) njengengxabano-kungekhona isalathisi kwi-buffer!):

WIFEXITED ( isimo )

ayikho i-zero ukuba umntwana uvela ngokuqhelekileyo.

WEXITSTATUS ( isimo )

uvavanya kwiibhobho ezingundoqo ezisibhozo zekhowudi yokubuyisela yomntwana ophelile, enokumiselwa njengengxabano kwifowuni yokuphuma () okanye njengengxabano yesitatimende sokubuyisela kwinkqubo ephambili. Esi sikhulu sinokuhlolwa kuphela ukuba i- WIFEXITED ibuyile engeyiyo.

WIFSIGNALED ( isimo )

ubuyisela inyaniso ukuba inkqubo yomntwana iphuma ngenxa yesignali engabanjwanga.

WTERMSIG ( isimo )

ubuyisela inombolo yesignali ebangela ukuba inkqubo yomntwana ipheliswe. Esi sikhulu sinokuhlolwa kuphela ukuba i- WIFSIGNALED ibuyile engeyiyo.

WIFSTOPPED ( isimo )

ubuyisela inyaniso ukuba inkqubo yomntwana eyabangela ukubuya okwangoku kumiswa; Oku kuyenzeka kuphela ukuba umnxeba wenziwa nge- WUNTRACED .

WSTOPSIG ( isimo )

ubuyisela inombolo yesignali eyabangela umntwana ukuba ayeke. Esi sikhulu sinokuhlolwa kuphela ukuba i- WIFSTOPPED ibuyile engeyiyo.

Ezinye iinguqu ze Unix (umz. I-Linux, i-Solaris, kodwa ingekho i-AIX, i-SunOS) iphinda ichaze i- WCOREDUMP ( isimo ) esicwangcisiweyo ukuvavanya ukuba inkqubo yomntwana ichithwe ingundoqo. Sebenzisa kuphela oku kufakwe kwi- #ifdef WCOREDUMP ... #endif.

Ixabiso lokubuyisa

I-ID yenkqubo yomntwana ephumayo, okanye enoba i- WNOHANG isetyenzisiwe kwaye akukho mntwana ufumaneke, okanye -1 ngephutha (apho imeko i- errno isetyenziswe kwixabiso elifanelekileyo).

I mpazamo

ECHILD

ukuba inkqubo echazwe kuyo i-pid ayikho okanye ayiyena umntwana wenkqubo yokubiza. (Oku kunokwenzeka kumntwana wakho ukuba isenzo se-SIGCHLD sisetyenziswe kwi-SIG_IGN. Funda kwakhona i-LINUX NOTES section malunga nemicu.)

EINVAL

ukuba impikiswano yokukhetha yayingavumelekanga.

I-EINTR

ukuba i- WNOHANG yayingasetyenziswanga kwaye isalathisi esingavaliwe okanye iSIGCHLD ibanjwe.