Rechercher une page de manuel
wait
Langue: ru
Version: 24 ÉÀÌÑ 2000 (openSuse - 09/10/07)
Section: 2 (Appels système)
Sommaire
éíñ
wait, waitpid - ÏÖÉÄÁÅÔ ÚÁ×ÅÒÛÅÎÉÑ ÐÒÏÃÅÓÓÁëòáôëáñ ó÷ïäëá
#include <sys/types.h>#include <sys/wait.h>
pid_t wait(int *status)
pid_t waitpid(pid_t pid, int *status, int options);
ïðéóáîéå
æÕÎËÃÉÑ wait ÐÒÉÏÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÙÐÏÌÎÅÎÉÅ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÎÅ ÐÒÅËÒÁÔÉÔ ×ÙÐÏÌÎÅÎÉÅ ÉÌÉ ÄÏ ÐÏÑ×ÌÅÎÉÑ ÓÉÇÎÁÌÁ, ËÏÔÏÒÙÊ ÌÉÂÏ ÚÁ×ÅÒÛÁÅÔ ÔÅËÕÝÉÊ ÐÒÏÃÅÓÓ, ÌÉÂÏ ÔÒÅÂÕÅÔ ×ÙÚ×ÁÔØ ÆÕÎËÃÉÀ-ÏÂÒÁÂÏÔÞÉË. åÓÌÉ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ Ë ÍÏÍÅÎÔÕ ×ÙÚÏ×Á ÆÕÎËÃÉÉ ÕÖÅ ÚÁ×ÅÒÛÉÌÓÑ (ÔÁË ÎÁÚÙ×ÁÅÍÙÊ "ÚÏÍÂÉ"), ÔÏ ÆÕÎËÃÉÑ ÎÅÍÅÄÌÅÎÎÏ ×ÏÚ×ÒÁÝÁÅÔÓÑ. óÉÓÔÅÍÎÙÅ ÒÅÓÕÒÓÙ, Ó×ÑÚÁÎÎÙÅ Ó ÄÏÞÅÒÎÉÍ ÐÒÏÃÅÓÓÏÍ, ÏÓ×ÏÂÏÖÄÁÀÔÓÑ.æÕÎËÃÉÑ waitpid ÐÒÉÏÓÔÁÎÁ×ÌÉ×ÁÅÔ ×ÙÐÏÌÎÅÎÉÅ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ ÄÏ ÔÅÈ ÐÏÒ, ÐÏËÁ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ, ÕËÁÚÁÎÎÙÊ × ÐÁÒÁÍÅÔÒÅ pid, ÎÅ ÚÁ×ÅÒÛÉÔ ×ÙÐÏÌÎÅÎÉÅ, ÉÌÉ ÐÏËÁ ÎÅ ÐÏÑ×ÉÔÓÑ ÓÉÇÎÁÌ, ËÏÔÏÒÙÊ ÌÉÂÏ ÚÁ×ÅÒÛÁÅÔ ÔÅËÕÝÉÊ ÐÒÏÃÅÓÓ ÌÉÂÏ ÔÒÅÂÕÅÔ ×ÙÚ×ÁÔØ ÆÕÎËÃÉÀ-ÏÂÒÁÂÏÔÞÉË. åÓÌÉ ÕËÁÚÁÎÎÙÊ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ Ë ÍÏÍÅÎÔÕ ×ÙÚÏ×Á ÆÕÎËÃÉÉ ÕÖÅ ÚÁ×ÅÒÛÉÌÓÑ (ÔÁË ÎÁÚÙ×ÁÅÍÙÊ "ÚÏÍÂÉ"), ÔÏ ÆÕÎËÃÉÑ ÎÅÍÅÄÌÅÎÎÏ ×ÏÚ×ÒÁÝÁÅÔÓÑ. óÉÓÔÅÍÎÙÅ ÒÅÓÕÒÓÙ, Ó×ÑÚÁÎÎÙÅ Ó ÄÏÞÅÒÎÉÍ ÐÒÏÃÅÓÓÏÍ, ÏÓ×ÏÂÏÖÄÁÀÔÓÑ.
ðÁÒÁÍÅÔÒ pid ÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ ÎÅÓËÏÌØËÏ ÚÎÁÞÅÎÉÊ:
- < -1
- ÏÚÎÁÞÁÅÔ, ÞÔÏ ÎÕÖÎÏ ÖÄÁÔØ ÌÀÂÏÇÏ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ, ÞÅÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ ÐÒÏÃÅÓÓÏ× ÒÁ×ÅÎ ÁÂÓÏÌÀÔÎÏÍÕ ÚÎÁÞÅÎÉÀ pid.
- -1
- ÏÚÎÁÞÁÅÔ ÏÖÉÄÁÔØ ÌÀÂÏÇÏ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ; ÆÕÎËÃÉÑ wait ×ÅÄÅÔ ÓÅÂÑ ÔÏÞÎÏ ÔÁË ÖÅ.
- 0
- ÏÚÎÁÞÁÅÔ ÏÖÉÄÁÔØ ÌÀÂÏÇÏ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ, ÞÅÊ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÇÒÕÐÐÙ ÐÒÏÃÅÓÓÏ× ÒÁ×ÅÎ ÔÁËÏ×ÏÍÕ Õ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ.
- > 0
- ÏÚÎÁÞÁÅÔ ÏÖÉÄÁÔØ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ, ÞÅÍ ÉÄÅÎÔÉÆÉËÁÔÏÒ ÒÁ×ÅÎ pid.
úÎÁÞÅÎÉÅ options ÓÏÚÄÁÅÔÓÑ ÐÕÔÅÍ ÂÉÔÏ×ÏÊ ÏÐÅÒÁÃÉÉ éìé ÎÁÄ ÓÌÅÄÕÀÝÉÍÉ ËÏÎÓÔÁÎÔÁÍÉ:
- WNOHANG
- ÏÚÎÁÞÁÅÔ ×ÅÒÎÕÔØ ÕÐÒÁ×ÌÅÎÉÅ ÎÅÍÅÄÌÅÎÎÏ, ÅÓÌÉ ÎÉ ÏÄÉÎ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÎÅ ÚÁ×ÅÒÛÉÌ ×ÙÐÏÌÎÅÎÉÅ.
- WUNTRACED
- ÏÚÎÁÞÁÅÔ ×ÏÚ×ÒÁÝÁÔØ ÕÐÒÁ×ÌÅÎÉÅ ÔÁËÖÅ ÄÌÑ ÏÓÔÁÎÏ×ÌÅÎÎÙÈ ÄÏÞÅÒÎÉÈ ÐÒÏÃÅÓÓÏ×, Ï ÞØÅÍ ÓÔÁÔÕÓÅ ÅÝÅ ÎÅ ÂÙÌÏ ÓÏÏÂÝÅÎÏ.
åÓÌÉ status ÎÅ ÒÁ×ÅÎ NULL, ÔÏ ÆÕÎËÃÉÉ wait É waitpid ÓÏÈÒÁÎÑÀÔ ÉÎÆÏÒÍÁÃÉÀ Ï ÓÔÁÔÕÓÅ × ÐÅÒÅÍÅÎÎÏÊ, ÎÁ ËÏÔÏÒÕÀ ÕËÁÚÙ×ÁÅÔ status.
üÔÏÔ ÓÔÁÔÕÓ ÍÏÖÎÏ ÉÓÓÌÅÄÏ×ÁÔØ Ó ÐÏÍÏÝØÀ ÎÉÖÅÓÌÅÄÕÀÝÉÈ ÍÁËÒÏÓÏ× (ÏÎÉ ÐÒÉÎÉÍÁÀÔ × ËÁÞÅÓÔ×Å ÁÒÇÕÍÅÎÔÁ ÂÕÆÅÒ (ÔÉÐÁ int), --- Á ÎÅ ÕËÁÚÁÔÅÌØ ÎÁ ÂÕÆÅÒ!):
- WIFEXITED(status)
- ÎÅ ÒÁ×ÎÏ ÎÕÌÀ, ÅÓÌÉ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÎÏÒÍÁÌØÎÏ ÚÁ×ÅÒÛÉÌÓÑ.
- WEXITSTATUS(status)
- ×ÏÚ×ÒÁÝÁÅÔ ×ÏÓÅÍØ ÍÌÁÄÛÉÈ ÂÉÔÏ× ×ÏÚ×ÒÁÝÁÅÍÏÇÏ ÚÎÁÞÅÎÉÑ ÚÁ×ÅÒÛÉ×ÛÅÇÏÓÑ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ. üÔÉ ÂÉÔÙ ÍÏÇÌÉ ÂÙÔØ ÕÓÔÁÎÏ×ÌÅÎÙ × ÁÒÇÕÍÅÎÔÅ ÆÕÎËÃÉÉ exit() ÉÌÉ × ÁÒÇÕÍÅÎÔÅ ÏÐÅÒÁÔÏÒÁ return × ÆÕÎËÃÉÉ main(). üÔÏÔ ÍÁËÒÏÓ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ, ÔÏÌØËÏ ÅÓÌÉ WIFEXITED ×ÅÒÎÕÌ ÎÅÎÕÌÅ×ÏÅ ÚÎÁÞÅÎÉÅ.
- WIFSIGNALED(status)
- ×ÏÚ×ÒÁÝÁÅÔ ÉÓÔÉÎÎÏÅ ÚÎÁÞÅÎÉÅ, ÅÓÌÉ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÚÁ×ÅÒÛÉÌÓÑ ÉÚ-ÚÁ ÎÅÐÅÒÅÈ×ÁÞÅÎÎÏÇÏ ÓÉÇÎÁÌÁ.
- WTERMSIG(status)
- ×ÏÚ×ÒÁÝÁÅÔ ÎÏÍÅÒ ÓÉÇÎÁÌÁ, ËÏÔÏÒÙÊ ÐÒÉ×ÅÌ Ë ÚÁ×ÅÒÛÅÎÉÀ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ. üÔÏÔ ÍÁËÒÏÓ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÅÓÌÉ WIFSIGNALED ×ÅÒÎÕÌ ÎÅÎÕÌÅ×ÏÅ ÚÎÁÞÅÎÉÅ.
- WIFSTOPPED(status)
- ×ÏÚ×ÒÁÝÁÅÔ ÉÓÔÉÎÎÏÅ ÚÎÁÞÅÎÉÅ, ÅÓÌÉ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ, ÉÚ-ÚÁ ËÏÔÏÒÏÇÏ ÆÕÎËÃÉÑ ×ÅÒÎÕÌÁ ÕÐÒÁ×ÌÅÎÉÅ, × ÎÁÓÔÏÑÝÉÊ ÍÏÍÅÎÔ ÏÓÔÁÎÏ×ÌÅÎ; ÜÔÏ ×ÏÚÍÏÖÎÏ ÔÏÌØËÏ ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ ÆÌÁÇ WUNTRACED.
- WSTOPSIG(status)
- ×ÏÚ×ÒÁÝÁÅÔ ÎÏÍÅÒ ÓÉÇÎÁÌÁ, ÉÚ-ÚÁ ËÏÔÏÒÏÇÏ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÂÙÌ ÏÓÔÁÎÏ×ÌÅÎ. üÔÏÔ ÍÁËÒÏÓ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ ÅÓÌÉ WIFSTOPPED ×ÅÒÎÕÌ ÎÅÎÕÌÅ×ÏÅ ÚÎÁÞÅÎÉÅ.
÷ïú÷òáýáåíïå úîáþåîéå
éÄÅÎÔÉÆÉËÁÔÏÒ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ, ËÏÔÏÒÙÊ ÚÁ×ÅÒÛÉÌ ×ÙÐÏÌÎÅÎÉÅ, -1 × ÓÌÕÞÁÅ ÏÛÉÂËÉ ÉÌÉ ÎÕÌØ, ÅÓÌÉ ÉÓÐÏÌØÚÏ×ÁÌÓÑ WNOHANG, ÎÏ ÎÉ ÏÄÉÎ ÄÏÞÅÒÎÉÊ ÐÒÏÃÅÓÓ ÅÝÅ ÎÅ ÚÁ×ÅÒÛÉÌ ×ÙÐÏÌÎÅÎÉÅ (× ÜÔÏÍ ÓÌÕÞÁÅ errno ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÓÑ ÄÏÌÖÎÙÍ ÏÂÒÁÚÏÍ).ïûéâëé
- ECHILD
- ÐÒÏÃÅÓÓ, ÕËÁÚÁÎÎÙÊ × pid, ÎÅ ÓÕÝÅÓÔ×ÕÅÔ ÉÌÉ ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÞÅÒÎÉÍ ÐÒÏÃÅÓÓÏÍ ÔÅËÕÝÅÇÏ ÐÒÏÃÅÓÓÁ. (üÔÏ ÍÏÖÅÔ ÓÌÕÞÉÔØÓÑ É ÄÌÑ ÓÏÂÓÔ×ÅÎÎÏÇÏ ÄÏÞÅÒÎÅÇÏ ÐÒÏÃÅÓÓÁ, ÅÓÌÉ ÏÂÒÁÂÏÔÞÉË ÓÉÇÎÁÌÁ SIGCHLD ÕÓÔÁÎÏ×ÌÅÎ × SIG_IGN. óÍÏÔÒÉ ÔÁËÖÅ ÇÌÁ×Õ úáíåþáîéñ ÐÏ ÐÏ×ÏÄÕ ÎÉÔÅÊ.)
- EINVAL
- áÒÇÕÍÅÎÔ options ÎÅ×ÅÒÅÎ.
- ERESTARTSYS
- éÓÐÏÌØÚÏ×ÁÌÓÑ ÆÌÁÇ WNOHANG, É ÂÙÌ ÐÏÊÍÁÎ ÎÅÂÌÏËÉÒÏ×ÁÎÎÙÊ ÓÉÇÎÁÌ ÉÌÉ SIGCHLD. üÔÁ ÏÛÉÂËÁ ×ÏÚ×ÒÁÝÁÅÔÓÑ ÓÉÓÔÅÍÎÙÍ ×ÙÚÏ×ÏÍ. âÉÂÌÉÏÔÅÞÎÙÅ ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕ ×ÅÒÎÕÔØ ERESTARTSYS, ÎÏ ÄÏÌÖÎÙ ×ÅÒÎÕÔØ EINTR.
úáíåþáîéñ
óÔÁÎÄÁÒÔ Single Unix Specification ÏÐÉÓÙ×ÁÅÔ ÆÌÁÇ SA_NOCLDWAIT (ÎÅ ÒÅÁÌÉÚÏ×ÁÎ ÐÏÄ Linux), ÔÁËÏÊ, ÞÔÏ ÅÓÌÉ ÏÎ ÕÓÔÁÎÏ×ÌÅÎ, ÉÌÉ ÏÂÒÁÂÏÔÞÉË ÓÉÇÎÁÌÁ SIGCHLD ÕÓÔÁÎÏ×ÌÅÎ × SIG_IGN (ÞÔÏ, ËÓÔÁÔÉ, ÎÅ ÒÁÚÒÅÛÅÎÏ ÓÔÁÎÄÁÒÔÎÏÍ POSIX), ÔÏ ÚÁ×ÅÒÛÉ×ÛÉÅÓÑ ÄÏÞÅÒÎÉÅ ÐÒÏÃÅÓÓÙ ÎÅ ÓÔÁÎÏ×ÑÔÓÑ ÚÏÍÂÉ, Á ×ÙÚÏ× wait() ÉÌÉ waitpid() ÂÌÏËÉÒÕÅÔÓÑ, ÐÏËÁ ×ÓÅ ÄÏÞÅÒÎÉÅ ÐÒÏÃÅÓÓÙ ÎÅ ÚÁ×ÅÒÛÁÔÓÑ, Á ÚÁÔÅÍ ×ÏÚ×ÒÁÝÁÅÔ ËÏÄ ÏÛÉÂËÉ, ÕÓÔÁÎÁ×ÌÉ×ÁÑ errno × ECHILD.÷ ÑÄÒÅ Linux ÎÉÔÉ, ÕÐÒÁ×ÌÑÅÍÙÅ ÑÄÒÏÍ, ÕÓÔÒÏÊÓÔ×ÏÍ ÎÅ ÏÔÌÉÞÁÀÔÓÑ ÏÔ ÐÒÏÃÅÓÓÁ. îÉÔØ -- ÜÔÏ ÐÒÏÓÔÏ ÐÒÏÃÅÓÓ, ËÏÔÏÒÙÊ ÓÏÚÄÁÎ ÕÎÉËÁÌØÎÙÍ (ÓÕÝÅÓÔ×ÕÀÝÉÍ ÔÏÌØËÏ × Linux) ÓÉÓÔÅÍÎÙÍ ×ÙÚÏ×ÏÍ clone(2); ÄÒÕÇÉÅ ÐÒÏÃÅÄÕÒÙ, ÔÁËÉÅ ËÁË ÐÅÒÅÎÏÓÉÍÁÑ ×ÅÒÓÉÑ pthread_create(3), ÔÁËÖÅ ÒÅÁÌÉÚÏ×ÁÎÙ Ó ÐÏÍÏÝØÀ clone(2). ôÁËÉÍ ÏÂÒÁÚÏÍ, ÅÓÌÉ ÐÒÏÃÅÓÓÙ A É B Ñ×ÌÑÀÔÓÑ ÂÒÁÔØÑÍÉ, ÎÉÔØ A ÎÅ ÍÏÖÅÔ ÐÏÄÏÖÄÁÔØ Ó ÐÏÍÏÝØÀ wait() ÐÒÏÃÅÓÓ, ÐÏÒÏÖÄÅÎÎÙÊ ÐÏÔÏËÏÍ B ÉÌÉ ÅÇÏ ÐÏÔÏÍËÁÍÉ, ÐÏÔÏÍÕ ÞÔÏ ÄÑÄÑ ÎÅ ÍÏÖÅÔ ÖÄÁÔØ Ó ÐÏÍÏÝØÀ wait() Ó×ÏÉÈ ÐÌÅÍÑÎÎÉËÏ×. ÷ ÎÅËÏÔÏÒÙÈ Unix-ÐÏÄÏÂÎÙÈ ÓÉÓÔÅÍÁÈ, ÇÄÅ ÍÎÏÖÅÓÔ×ÅÎÎÙÅ ÎÉÔÉ ÒÅÁÌÉÚÏ×ÁÎÙ ËÁË ÐÒÉÎÁÄÌÅÖÁÝÉÅ ÏÄÉÎÏÞÎÏÍÕ ÐÒÏÃÅÓÓÕ, ÎÉÔØ A ÍÏÖÅÔ ÖÄÁÔØ Ó ÐÏÍÏÝØÀ wait() ÐÒÏÃÅÓÓÙ, ÐÏÒÏÖÄÅÎÎÙÅ Ó×ÏÅÊ ÓÅÓÔÒÉÎÓËÏÊ ÎÉÔØÀ B; ×ÁÍ ÐÒÉÄÅÔÓÑ ÐÅÒÅÐÉÓÁÔØ ËÏÄ, ËÏÔÏÒÙÊ ÄÅÌÁÅÔ ÔÁËÉÅ ÄÏÐÕÝÅÎÉÑ, ÞÔÏÂÙ ÏÎ ÚÁÒÁÂÏÔÁÌ ÐÏÄ Linux.
óïïô÷åôóô÷éå óôáîäáòôáí
SVr4, POSIX.1óíïôòé ôáëöå
clone(2), signal(2), wait4(2), pthread_create(3), signal(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre