Exécuter des processus en arrière-plan en PHP
De nombreuses applications Web nécessitent l'exécution de tâches fastidieuses, telles que la copie de répertoires. Pour améliorer l'expérience utilisateur, il est souhaitable d'exécuter ces tâches en arrière-plan sans perturber l'interface utilisateur.
Exécution de processus en arrière-plan en PHP :
En PHP, l'exécution de processus en le contexte peut être difficile. Cependant, pour les environnements Linux, une solution courante consiste à utiliser la fonction exec :
exec(sprintf("%s > %s 2>&1 & echo $! >> %s", $cmd, $outputfile, $pidfile));
Cette commande permet d'obtenir les résultats suivants :
Surveillance du processus :
Pour suivre la progression du processus en arrière-plan, une fonction d'assistance peut être utilisé :
function isRunning($pid){ try{ $result = shell_exec(sprintf("ps %d", $pid)); if( count(preg_split("/\n/", $result)) > 2){ return true; } }catch(Exception $e){} return false; }
Cette fonction vous permet de vérifier si le processus avec le PID spécifié est toujours en cours d'exécution, en fonction de la sortie de la commande ps.
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!