php pour exécuter le shell sans attendre de réponse : ouvrez d'abord l'arrière-plan correspondant puis implémentez-le via la méthode "system("nohup ./test.py $s &");"
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Comment exécuter un shell sans attendre un réponse?
php utilise le système pour exécuter la commande en arrière-plan sans attendre le résultat.
system("nohup ./test.py $s &");
Cela ne fonctionnera pas en arrière-plan et php se bloquera jusqu'à la fin de test.py.
system("nohup ./test.py $s >>log.txt &");
Écrivez de cette façon pour s'exécuter en arrière-plan. Étant donné que la fonction système démarre un programme et souhaite le maintenir en arrière-plan,
doit s'assurer que la sortie du programme est redirigée vers. un fichier ou un autre flux de sortie, sinon PHP se bloquera avant la fin de l'exécution du programme.
Par exemple :
1. system("nohup ./test.py $s >>/tmp/output.txt &");
2. system (« nohup ./test.py $s > /dev/null 2>&1 & »);
(2>&1 est la sortie d'erreur envoyée à la sortie standard. Si vous souhaitez lire le sortie d'erreur, ajoutez 2>&1 , aucune erreur ne peut être lue sans ajout)
ou system("nohup ./test.py $s > /dev/null &");
Apprentissage recommandé : "Tutoriel vidéo PHP》
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!