Ionnsaich an Command Command - feithibh

Ainm

feitheamh, feòil - feitheamh airson crìochnachadh pròiseas

Synopsis

#include
#include

pid_t wait (int * inbhe );
pid_t waitpid (pid_t pid , int * inbhe , int roghainnean );

Tuairisgeul

Bidh an obair feitheamh a 'cur stad air a' phròiseas làithreach a chur an gnìomh gus am bi leanabh air a dhol a-mach, no gus an tèid comharra a thoirt seachad a tha an gnìomh gus crìoch a chur air a 'phròiseas làithreach no gus obair làimhseachadh chomharran a ghairm. Ma tha pàiste air a dhol a-mach mu thràth aig àm a 'ghairm (pròiseas "zombie"), bidh an gnìomh a' tilleadh sa bhad. Thèid stòras sam bith a chleachdas an leanabh a shaoradh.

Bidh an cleas a 'cur bacadh air cur gu bàs a' phròiseis làithreach gus am bi leanabh mar a tha air a shònrachadh leis an argamaid pid air a dhol a-mach, no gus an tèid comharra a thoirt seachad a tha an gnìomh gus crìoch a chur air a 'phròiseas làithreach no gus obair làimhseachadh chomharran a ghairm. Ma tha pàiste mar a dh 'iarr pid air a dhol a-mach mu thràth aig àm a' ghairm (pròiseas "zombie" ris an canar), bidh an gnìomh a 'tilleadh sa bhad. Thèid stòras sam bith a chleachdas an leanabh a shaoradh.

Faodaidh luach pid a bhith mar aon de na leanas:

<-1

a tha a 'ciallachadh feitheamh airson pròiseas cloinne sam bith aig a bheil ID buidhne pròiseas co-ionnan ri luach iomlan pid .

-1

a tha a 'ciallachadh feitheamh airson pròiseas cloinne sam bith; Is e seo an aon ghiùlan a tha a ' feitheamh taisbeanaidhean.

0

a tha a 'ciallachadh feitheamh airson pròiseas cloinne sam bith aig a bheil ID buidhne pròiseas co-ionnan ris a' phròiseas glanaidh.

> 0

a tha a 'ciallachadh feitheamh airson an leanaibh aig a bheil an ID pròiseas co-ionnan ri luach pid .

Is e luach nan roghainnean NO de neoni no barrachd de na creagan a leanas:

WNOHANG

a tha a 'ciallachadh tilleadh sa bhad mura h-eil pàiste air fhàgail.

WUNTRACED

a tha a 'ciallachadh cuideachd a bhith a' tilleadh airson clann a tha air an stad, agus nach deach aithris a thoirt air a h-inbhe.

(Airson roghainnean Linux-only, faic gu h-ìosal.)

Mura h -eil an t-inbhe a 'toirt fiosrachadh inbhe stòr NULL , feitheamh no waitpid san àite far a bheil inbhe .

Faodar an inbhe seo a mheasadh leis na macros a leanas (tha na macros seo a 'toirt an bufair stat (mar int ) mar argamaid --- chan e comharraiche dhan bufair!):

AITHNEACHADH ( inbhe )

neo-neònach ma dh'fhàgas an leanabh mar as trice.

WEXITSTATUS ( inbhe )

a 'dèanamh measadh air na h-ochd earrannan as lugha de chòd tilleadh a' phàiste a chuir gu crìch, a dh 'fhaodadh a bhith air an suidheachadh mar argamaid gu gairm gus fàgail () no mar an argamaid airson aithris tillidh sa phrìomh phrògram. Chan urrainnear am macro seo a mheas a-mhàin ma thill WIFEXITED gun neo-neoni.

WIFSIGNALED ( inbhe )

a 'tilleadh gu fìor ma bhios an leanabh a' dol air adhart mar thoradh air comharra nach deach a ghlacadh.

WTERMSIG ( inbhe )

a 'tilleadh àireamh na comharra a thug air crìonadh an leanaibh. Chan urrainnear am macro seo a mheas a-mhàin ma thill WIFSIGNELED gun neo-neoni.

WIFSTOPPED ( inbhe )

a 'tilleadh gu fìor ma tha an leanabh a dh' adhbharaich an tilleadh air a stad; chan eil seo ach comasach ma chaidh an gairm a dhèanamh a 'cleachdadh WUNTRACED .

WSTOPSIG ( inbhe )

a 'tilleadh àireamh na comharra a thug air an leanabh stad. Chan urrainnear am macro seo a mheas a-mhàin ma thill WIFSTOPPED gun neoni.

Tha cuid de na tionndaidhean de Unix (me Linux, Solaris, ach chan eil AIX, SunOS) cuideachd a 'mìneachadh macro WCOREDUMP ( inbhe ) gus dearbhadh a bheil an leanabh a' pròiseas a chaidh a dhumpadh bunaiteach. Na cleachd seo am broinn #ifdef WCOREDUMP ... #endif.

Luach air ais

ID pròiseas a 'phàiste a chaidh a-mach, no neoni nam biodh WNOHANG air a chleachdadh agus gun robh pàiste sam bith ri fhaighinn, no -1 air mearachd (sa chùis sin tha errno air a shuidheachadh gu luach iomchaidh).

Errors

ECHILD

ma tha am pròiseas air a shònrachadh ann chan eil pid ann no chan eil e na leanabh don phròiseas glanaidh. (Faodaidh seo tachairt airson pàiste aonar ma tha an gnìomh airson SIGCHLD air a shuidheachadh gu SIG_IGN. Faic cuideachd an earrann NOTUICHEAN LINUX mu thuaireaman.)

EINVAL

ma bha an argamaid roghainnean neo-dhligheach.

EINTR

mura robh WNOHANG air a shuidheachadh agus chaidh comharra gun fhiosta no SIGCHLD a ghlacadh.