Exécuter des commandes Shell en arrière-plan avec PHP
Lors de l'exécution d'une tâche gourmande en processus, comme l'exécution d'un script shell, il est souvent souhaitable de terminer la tâche en arrière-plan. Cela permet à l'utilisateur de continuer à utiliser le site Web ou l'application sans avoir à attendre la fin de la tâche.
Utilisation de shell_exec()
La fonction shell_exec() de PHP exécute un commande shell et renvoie sa sortie. Cependant, shell_exec() nécessite que le script attende la fin de la commande avant de continuer.
Exécuter des commandes en arrière-plan
Pour exécuter une commande shell en arrière-plan sans en attendant qu'il soit terminé, utilisez le code suivant :
shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>/dev/null &');
Ce code ajoute les paramètres suivants à la fin du shell_exec() commande :
Remarque : Cette méthode ne renvoie pas le message de la commande sortie ou code d’état. Si vous avez besoin d'accéder aux résultats de la commande, envisagez d'utiliser une approche différente, par exemple en utilisant exec() avec la commande nohup ou en créant un processus dédié pour la tâche en arrière-plan.
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!