Maison > php教程 > PHP开发 > Utilisation de php pcntl_fork et pcntl_fork

Utilisation de php pcntl_fork et pcntl_fork

高洛峰
Libérer: 2016-12-22 16:14:45
original
1729 Les gens l'ont consulté

La fonction pcntl_fork() crée un processus enfant pour le processus en cours. Et exécutez d'abord le processus parent et renvoyez le PID du processus enfant, qui doit être supérieur à zéro. Dans le code du processus parent, vous pouvez utiliser pcntl_fork ($status) pour suspendre le processus parent jusqu'à ce que son processus enfant ait une valeur de retour. Remarque : le blocage du processus parent bloquera également le processus enfant. Cependant, la fin du processus parent n’affecte pas le fonctionnement du processus enfant.
Une fois l'exécution du processus parent terminée, il exécutera ensuite le processus enfant. À ce moment, le processus enfant commencera à s'exécuter à partir de l'instruction qui exécute pcntl_fork() (y compris cette fonction), mais à ce moment, il renvoie zéro. (ce qui signifie qu'il s'agit d'un processus enfant). Il est préférable d'avoir une instruction de sortie dans le bloc de code du processus enfant, c'est-à-dire qu'elle se terminera immédiatement après l'exécution du processus enfant. Sinon, il recommencera à exécuter certaines parties du script (sans jamais comprendre les règles).
En bref, faites attention à deux points :
1. Il est préférable que le processus enfant ait une instruction exit; pour éviter les erreurs inutiles

$pid = pcntl_fork(); 
//这里最好不要有其他的语句 
if ($pid == -1) { 
die('could not fork'); 
} else if ($pid) { 
// we are the parent 
pcntl_wait($status); //Protect against Zombie children 
} else { 
// we are the child 
}
Copier après la connexion

Pour plus d'articles liés à l'utilisation de php pcntl_fork et pcntl_fork, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Recommandations populaires
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal