Description
int
pcntl_waitpid
( int pid, int status, int options)
pcntl_waitpid(
)
suspend
l'exécution
du
processus
courant
jusqu'à
ce
que
un
processus
fils
spécifié
par
le
paramètre
pid
ait
terminé
,
ou
bien
qu'un
signal
ait
mis
fin
à
ce
processus
ou
qu
'un
signal
ait
appelé
un
gestionnaire
de
signaux
.
Si
le
processus
fils
identifié
par
pid
est
déjà
terminé
au
moment
de
l'
appel
de
cette
fonction
(on
les
appelle
des
processus
"zombie"
)
,
la
fonction
se
termine
immédiatement
.
Toute
ressource
système
utilisé
par
le
processus
fils
est
libérée
.
Reportez
vous
à
la
page
de
man
waitpid(
2
)
pour
avoir
des
détails
sur
le
comportement
de
cette
fonction
sur
votre
système
.
pcntl_waitpid(
)
retourne
l'identifiant
de
processus
du
processus
fils
qui
s'est
terminé
,
ou
bien
-1
en
cas
d'erreur
ou
encore
zéro
si
WNOHANG
a
été
utilisée
et
qu'aucun
processus
fils
n
'était
disponible
.
Le
paramètre
pid
peut
prendre
l
'
une
des
valeurs
suivantes
:
Tableau
1
.
Valeurs
possibles
de
pid
|
attend
que
tous
les
processus
fils
dont
l
'
identifiant
de
groupe
est
égal
à
la
valeur
absolue
de
pid
soient
terminés
.
|
|
attend
que
tous
les
processus
fils
soient
terminés
.
Ceci
est
le
même
comportement
que
celui
de
la
fonction
wait(
)
.
|
|
attend
que
tous
les
processus
fils
dont
l
'
identifiant
de
groupe
est
égal
à
celui
du
processus
courant
soient
terminés
.
|
|
attend
que
le
processus
fils
dont
l
'
identifiant
est
égal
à
pid
soit
terminé
.
|
pcntl_waitpid(
)
enregistrera
des
informations
sur
le
statut
courant
du
processus
dans
le
paramètre
status
,
qui
peut
être
accédé
avec
les
fonctions
suivantes
:
pcntl_wifexited(
)
,
pcntl_wifstopped(
)
,
pcntl_wifsignaled(
)
,
pcntl_wexitstatus(
)
,
pcntl_wtermsig(
)
et
pcntl_wstopsig(
)
.
Le
paramètre
options
peut
prendre
la
valeur
de
zéro
,
ou
plusieurs
des
constantes
globales
suivantes
(
combinez
les
avec
l'opérateur
OR
)
:
Tableau
2
.
Valeurs
possibles
de
options
|
retourne
immédiatement
si
aucun
processus
fils
ne
s
'
est
terminé
.
|
|
retourne
lorsque
les
processus
fils
sont
arrêtés
et
que
leur
status
n
'
a
pas
été
mis
à
jour
.
|
Voir
aussi
pcntl_fork(
)
,
pcntl_signal(
)
,
pcntl_wifexited(
)
,
pcntl_wifstopped(
)
,
pcntl_wifsignaled(
)
,
pcntl_wexitstatus(
)
,
pcntl_wtermsig(
)
et
pcntl_wstopsig(
)
.