Cet article présente principalement la méthode de création d'un processus d'arrière-plan unique en PHP, impliquant les techniques d'exploitation associées à PHP pour démarrer, créer, juger, arrêter et d'autres processus. Les amis dans le besoin peuvent se référer à ce qui suit
Ceci. l'article explique les exemples La méthode de création d'un processus d'arrière-plan singleton en PHP. Partagez-le avec tout le monde pour référence, comme suit :
Vous pouvez démarrer un processus PHP en arrière-plan via la déclaration suivante :
$command = " php script.php "; $pid = exec("nohup $command > /dev/null 2>&1 & echo $!");
nohup signifie que ce processus est indépendant de L'utilisateur créé peut s'exécuter en mode démon.
Si vous avez besoin que ce processus en arrière-plan s'exécute en tant qu'instance unique, vous pouvez utiliser la méthode suivante pour enregistrer/juger si le processus est en cours d'exécution
//query the database for process id $query = "SELECT pid FROM `daemons` WHERE `pid` = '2013' LIMIT 1"; $result = mysql_query($query); $pid = mysql_result($result, 0, 'pid'); //check if the process is running exec("ps $pid", $pState); if((count($pState) >= 2) && !empty($pid)) { echo "RUNNING"; } else { echo "INACTIVE"; }
Vous pouvez également écrire le pid dans un fichier, mais si vous êtes dans un environnement de tâches distribuées, il est préférable de le mettre dans la base de données
Arrêter un processus en arrière-plan :
//check if the process from the database is running exec("ps $pid", $pState); if((count($pState) >= 2)) { //if the process is running, kill it exec("kill $pid"); //update database row with an empty process id }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!