Maison > développement back-end > tutoriel php > Comment puis-je exécuter de manière asynchrone des commandes Shell en PHP sans bloquer l'utilisateur ?

Comment puis-je exécuter de manière asynchrone des commandes Shell en PHP sans bloquer l'utilisateur ?

Linda Hamilton
Libérer: 2024-12-01 08:28:19
original
554 Les gens l'ont consulté

How Can I Asynchronously Execute Shell Commands in PHP Without Blocking the User?

Exécuter des commandes Shell de manière asynchrone avec shell_exec

L'exécution de tâches fastidieuses en arrière-plan est cruciale dans les applications Web. Par exemple, la demande d'un utilisateur peut déclencher un processus informatique intensif qui ne doit pas bloquer l'interaction de l'utilisateur. Bien que la fonction PHP shell_exec soit un moyen pratique d'exécuter des commandes shell, elle nécessite que le script attende que la commande soit terminée, ce qui peut nuire à l'expérience utilisateur.

Pour remédier à cela, une modification de l'appel shell_exec peut être apportée. . En ajoutant "> /dev/null 2>/dev/null &" à la commande, il est possible d'exécuter la commande sans attendre son achèvement.

L'exemple suivant illustre cette technique :

shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>/dev/null &');
Copier après la connexion

Notez que cette modification supprime également les flux de sortie standard et d'erreur standard de la commande. Si la capture du résultat est souhaitée, des techniques alternatives telles que l'utilisation de blocs de contrôle de processus (PCB) ou la mise en œuvre d'un processus démon peuvent être envisagées.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal