(PHP 8 >= 8.4.0)
pcntl_waitid — Attends qu'un processus enfant change d'état
$idtype = P_ALL,$id = null,&$info = [],$flags = WEXITED,&$resource_usage = []Récupère les informations de statut relatives à la terminaison, l'arrêt et/ou la poursuite d'un des processus enfant du processus appelant.
   Sauf si le drapeau WNOHANG est passé, le processus appelant
   sera bloqué jusqu'à ce qu'une erreur survienne, ou que des informations de
   status deviennent disponibles qui satisfont toutes les conditions suivantes :
   
idtype
      et id.
     
    flags.
     
    Si des informations de statut correspondantes sont disponibles avant l'appel à pcntl_waitid(), le retour sera immédiat. Si des informations de statut correspondantes sont disponibles pour deux processus enfants ou plus, l'ordre dans lequel leur statut est rapporté est indéterminé.
Note:
Cette documentation couvre la spécification POSIX de la fonction
waitid, avec quelques paramètres supplémentaires spécifiques aux implémentations sur Linux, NetBSD et FreeBSD. Veuillez consulter la page manuel de votre systèmewaitid(2)pour des détails spécifiques sur le fonctionnement dewaitidsur votre système.
idtypeididtype et id sont
      utilisés pour spécifier quels enfants attendre.
     
     | Si idtypeestP_ALL | attend n'importe quel processus enfant, idest ignoré. | 
| Si idtypeestP_PID | attend le processus enfant avec l'identifiant de processus égal à id. | 
| Si idtypeestP_PGID | attend n'importe quel processus enfant avec l'identifiant de groupe de processus égal à id. | 
| Si idtypeestP_PIDFD(depuis Linux 5.4) | attend le processus enfant référencé par le descripteur de fichier PID spécifié dans id.
          (Voir la page manuel Linuxpidfd_open(2)pour plus d'informations
          sur les descripteurs de fichier PID.) | 
| Si idtypeestP_UID | attend les processus dont l'identifiant d'utilisateur effectif est égal à id. | 
| Si idtypeestP_GID | attend les processus dont l'identifiant de groupe effectif est égal à id. | 
| Si idtypeestP_SID | attend les processus dont l'identifiant de session est égal à id.
          Si le processus enfant a démarré sa propre session, son identifiant de session
          sera le même que son identifiant de processus. Sinon, l'identifiant de session
          d'un processus enfant correspondra à l'identifiant de session de l'appelant. | 
| Si idtypeestP_JAILID | attend les processus dans une prison dont l'identifiant de prison est égal à id. | 
info
      Le paramètre info est défini comme un tableau
      contenant des informations sur le signal.
     
      info peut contenir les clés suivantes :
      
signo: Nombre du signalerrno: Numéro d'erreur systèmecode: Code de signalstatus: Valeur de sortie ou signalpid: ID du processus envoyantuid: ID utilisateur réel du processus envoyantutime: Temps utilisateur consomméstime: Temps système consomméflags
      La valeur de flags est la valeur de zéro ou plusieurs
      des constantes suivantes mise ensemble :
      
| WCONTINUED | Le statut sera retourné pour tout processus enfant continué dont le statut
           n'a pas été rapporté depuis qu'il a continué à partir d'un arrêt de contrôle
           de travail ou n'a été rapporté que par des appels à
           pcntl_waitid() avec le drapeau WNOWAITdéfini. | 
| WEXITED | Attend les processus qui ont terminé. | 
| WNOHANG | Ne pas bloquer si aucun statut n'est disponible ; retourner immédiatement. | 
| WNOWAIT | Garde le processus dont le statut est retourné dans infodans un état attendu. Cela n'affectera pas
           l'état du processus ; le processus peut être attendu à nouveau après
           que cet appel soit terminé. | 
| WSTOPPED | Le statut sera retourné pour tout processus enfant arrêté dont le statut
           n'a pas été rapporté depuis qu'il a été arrêté ou n'a été
           rapporté que par des appels à
           pcntl_waitid() avec le drapeau WNOWAITdéfini. | 
resource_usage
      Le paramètre resource_usage est défini sur un tableau
      contenant les statistiques d’utilisation des ressources du processus enfant.
      Ceci est pris en charge soit si l’appel système wait6 est disponible
      (par exemple sur FreeBSD), soit sur Linux via l’appel système brut waitid.
     
   pcntl_waitid() retourne true si le drapeau
   WNOHANG a été spécifié et que le statut n'est pas
   disponible pour un des processus spécifiés par idtype
   et id.
  
   pcntl_waitid() renvoie true en raison du changement
   de l'état de l'un de ses enfants.
  
   Sinon false est retourné et pcntl_get_last_error()
   peut être utilisé pour obtenir le numéro d'erreur errno.
  
Note:
Une fois qu'un numéro d'erreur
errnoa été obtenu, pcntl_strerror() peut être utilisé pour obtenir le message texte associé.
| ECHILD | Le processus appelant n'a pas de processus non attendu enfant. | 
| EINTR | pcntl_waitid() a été interrompu par un signal. | 
| EINVAL | Une valeur invalide a été spécifiée pour flags, ouidtypeetidspécifient un
       ensemble invalide de processus. | 
| Version | Description | 
|---|---|
| 8.5.0 | resource_usagea été ajouté. | 
