Fantaro ny baiko Linux - miandry

Anarana

miandry, miandry - miandry ny fandefasana ny dingana

Synopsis

#include
#include

pid_t miandry (int * status );
pid_t waitpid (pid_t pid , int * status , int safidy );

Description

Ny fonosan-desandriandry dia manafoana ny fampiharana ny dingana misy ankehitriny mandra-pandao ny ankizy, na mandra-panafana ny signal iray izay ny zavatra atao dia ny hampitsahatra ny dingana ankehitriny na hiantso fandefasana fehezanteny. Raha misy ankizy efa nihiaka tamin'ny fotoana nanaovana ilay antso (antsoina hoe "zombie"), dia miverina avy hatrany ilay asa. Ny loharanom-pahefana ampiasain'ny ankizy dia afahana.

Ny fonosana waitpid dia manakana ny fanatanterahana ny dingana misy ankehitriny mandra-pahatongan'ny ankizy voatondro ao amin'ny argument pid dia efa najanona, na mandra-panafana ny famantarana izay ny zavatra atao dia ny hampitsahatra ny dingana ankehitriny na hiantso fandefasana fehezanteny. Raha misy ankizy nangatahin'i Pid efa nijanona tamin'ny fotoana niantsoany (antsoina hoe "zombie"), dia miverina avy hatrany ilay asa. Ny loharanom-pahefana ampiasain'ny ankizy dia afahana.

Ny lanjan'ny Pid dia mety ho iray amin'ny:

<-1

izay midika hoe miandry ny fizotry ny ankizy izay ny ID ny vondron'ny processe dia mitovy amin'ny sanda miavaka amin'ny Pid .

-1

izay midika hoe miandry ny fizotry ny ankizy; Izany no fihetsika izay miandry fampiratiana.

0

izay midika hoe miandry ny fizotry ny ankizy izay mitovy ny dingana arahin'ny fizotran'ny famoaham-peo.

> 0

izay midika hoe miandry ilay zaza izay mitovy ny vidin'ny pid .

Ny lanjan'ny safidy dia OR amin'ny zero na mihoatra amin'ireto constants manaraka ireto:

WNOHANG

izay midika hoe miverina avy hatrany raha tsy misy ankizy miala.

WUNTRACED

izay midika ihany koa ny fiverenana ho an'ireo ankizy izay najanona, ary ny toetrany tsy voalaza.

(Ho an'ny safidy Linux ihany, jereo eto ambany.)

Raha toa ka tsy ZAVA-BOLA ny toerana, miandry na manandaza ny mari-pamantarana momba ny mari-pamantarana eo amin'ny toerana aseho amin'ny sata .

Ity mari-pamantarana ity dia azo alaina miaraka amin'ny macros manaraka (ireo macros dia mandray ny buffer stat ( int int ) ho toy ny adihevitra --- tsy fehezanteny iray ho an'ny buffer!):

WIFEXITED ( status )

dia tsy zero raha toa ka mihintsana ny zaza.

WEXITSTATUS ( toerana )

dia manombana ny valiny valo farafaharatsiny amin'ny fehezan-dalàna miverimberin'ny zaza izay tapaka, izay mety ho voatondro ho antso mba hialana () na ho fanoherana ny fanambarana miverimberina ao amin'ny fandaharana fototra. Io macro io dia azo valiana raha tsy naverina ny WIFEXITED .

WIFSIGNALED ( status )

dia miverina marina raha mihazakazaka ny ankizy noho ny famantarana tsy tratra.

WTERMSIG ( status )

dia mamerina ny isan'ny famantarana izay nahatonga ny fizotry ny ankizy hamarana. Io macro io dia azo valiana raha tsy naverina ny WIFSIGNALED .

WIFSTOPPED ( status )

dia miverina marina raha mijanona ny fizotry ny ankizy izay nitarika ny fiverenana; Azo atao ihany raha azo atao ny mampiasa ny WUNTRACED .

WSTOPSIG ( status )

dia mamerina ny isan'ny famantarana izay nahatonga ilay zaza hijanona. Io macro io dia azo tsinaina raha toa ka tsy naverina ny WIFSTOPPED .

Ny sasany amin'ireo version of Unix (ohatra Linux, Solaris, fa tsy AIX, SunOS) dia mamaritra koa macro WCOREDUMP ( status ) mba hitsapana raha nopotehina ny fizotry ny zaza. Ampiasao ao amin'ny #ifdef WCOREDUMP ihany koa ity ... #endif.

Return Value

Ny fizotry ny fizotry ny ankizy izay nihalany, na zero raha nampiasaina ny WNOHANG ary tsy misy ankizy no misy, na -1 amin'ny fahadisoana (raha ny marina dia voafetra amin'ny sandany araka ny tokony ho izy).

fahadisoana

ECHILD

raha toa ka voatanisa ny dingana Tsy misy ny pid na tsy zanaky ny fizotry ny fiantsoana. (Izany dia mety hitranga ho an'ny zanakao raha toa ka apetraka amin'ny SIG_IGN ny hetsika ho an'ny SIGCHLD. Jereo koa ny fizarana LINUX momba ny kofehy.)

EINVAL

raha toa ka tsy manan-kery ilay hevitra.

EINTR

raha tsy natsahatra ny WNOHANG ary nisy famantarana tsy nokasaina na SIGCHLD voasambotra.