Heim >Backend-Entwicklung >PHP-Problem >So führen Sie eine Shell in PHP aus, ohne auf eine Antwort zu warten
So führen Sie die Shell aus, ohne auf eine Antwort in PHP zu warten: Öffnen Sie zuerst den entsprechenden Hintergrund und implementieren Sie ihn dann über die Methode „system(“nohup ./test.py $s &“);“
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Wie führe ich eine Shell aus, ohne auf eine Antwort zu warten?
So verwenden Sie das System, um Befehle im Hintergrund auszuführen, ohne auf das Ergebnis zu warten
system("nohup ./test.py $s &");
Dies wird nicht im Hintergrund ausgeführt und PHP bleibt bis zum Ende von test.py hängen.
system("nohup ./test.py $s >>log.txt &");
Schreiben wie dieses kann im Hintergrund ausgeführt werden, da die Systemfunktion ein Programm startet und es im Hintergrund laufen lassen möchte,
muss andernfalls sichergestellt werden, dass die Ausgabe des Programms in eine Datei oder einen anderen Ausgabestream umgeleitet wird PHP wird ausgeführt, bevor das Programm endet.
Zum Beispiel:
1. system(“nohup ./test.py $s >>/tmp/output.txt &”);
2. system(“nohup ./test.py $s > ; /dev/null 2>&1 &“);
(2>&1 ist die Fehlerausgabe zur Standardausgabe. Wenn Sie die Fehlerausgabe lesen möchten, fügen Sie 2>&1 hinzu kann den Fehler nicht lesen)
Oder system(“nohup ./test.py $s > /dev/null &”);
Empfohlenes Lernen: „PHP Video Tutorial“
Das obige ist der detaillierte Inhalt vonSo führen Sie eine Shell in PHP aus, ohne auf eine Antwort zu warten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!