Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Shell-Befehle in PHP asynchron ausführen?

Wie kann ich Shell-Befehle in PHP asynchron ausführen?

DDD
DDDOriginal
2024-12-11 13:43:10970Durchsuche

How Can I Asynchronously Execute Shell Commands in PHP?

Shell-Befehle asynchron ausführen

Die asynchrone Ausführung von Shell-Befehlen kann erreicht werden, indem die Ausgabe in eine Datei umgeleitet und der Befehl im Hintergrund ausgeführt wird .

Shell-Befehlsausführung mit Shell_exec

Die Funktion „shell_exec“ führt ein Befehlszeilenprogramm aus und gibt seine Ausgabe zurück. Es blockiert jedoch das PHP-Skript, bis die Ausführung des Befehls abgeschlossen ist.

Asynchrone Ausführung ohne Shell_exec

Um einen Befehl asynchron ohne Blockierung auszuführen, können Sie den folgenden Trick verwenden:

  1. Ausgabe umleiten: Leiten Sie die Standardausgabe und den Standardfehler des Befehls um nach /dev/null. Dadurch wird verhindert, dass die Ausgabe im PHP-Skript erscheint.
  2. Führen Sie den Befehl im Hintergrund aus: Fügen Sie & am Ende des Befehls hinzu, um anzugeben, dass er im Hintergrund ausgeführt werden soll.

Beispiel:

shell_exec('php measurePerformance.php 47 844 [email protected] > /dev/null 2>&1 &');

Durch die Kombination dieser Techniken können Sie ausführen Befehle asynchron ausführen, ohne auf deren Abschluss zu warten. Dadurch kann Ihr PHP-Skript weiter ausgeführt werden, ohne durch die Ausführung des Shell-Befehls blockiert zu werden.

Das obige ist der detaillierte Inhalt vonWie kann ich Shell-Befehle in PHP asynchron ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn