Aktueller Standort: Startseite> Funktionskategorien> proc_get_status

proc_get_status

Erhalten Sie Informationen zu Prozessen, die von der Funktion proc_open () eröffnet werden
Name:proc_get_status
Kategorie:Programmausführung
Programmiersprache:php
Kurzbeschreibung:Erhalten Sie die Statussinformationen des von der Funktion proc_open () eröffneten Prozesses

Funktionsname: proc_get_status ()

Funktionsbeschreibung: Die Funktion proc_get_status () wird verwendet, um die Statusinformationen des von der Funktion proc_open () geöffneten Vorgangs zu erhalten.

Anwendbare Version: Php 4> = 4.3.0, Php 5, Php 7

Syntax: Array Proc_get_Status (Ressource $ prozess)

Parameter:

  • Prozess: Die von proc_open () zurückgegebene Prozessressource.

Rückgabewert:

  • Gibt ein assoziatives Array mit Informationen zur Prozessstatus zurück. Das Array enthält die folgenden Schlüsselwerte:
    • Befehl: Die Befehlszeile des Prozesses.
    • PID: Die Prozess -ID.
    • Laufen: Boolescher Wert, ob der Prozess ausgeführt wird.
    • Signiert: Boolescher Wert, ob der Prozess durch ein Signal beendet wird.
    • Stopp: Booleaner Wert, ob der Prozess ausgesetzt ist.
    • ExitCode: Der Ausgangscode des Prozesses. Wenn der Prozess noch läuft, ist er ein negativer Wert.
    • Terlig: Die Signalnummer des Prozesses terminiert.
    • STOPSIG: Die Signalnummer des Prozesses machte eine Pause.

Beispiel:

 $descriptors = array( 0 => array('pipe', 'r'), // 标准输入1 => array('pipe', 'w'), // 标准输出2 => array('pipe', 'w') // 标准错误输出); $process = proc_open('ls -l', $descriptors, $pipes); if (is_resource($process)) { // 获取进程状态信息$status = proc_get_status($process); echo "Command: " . $status['command'] . "\n"; echo "PID: " . $status['pid'] . "\n"; echo "Running: " . ($status['running'] ? 'Yes' : 'No') . "\n"; echo "Signaled: " . ($status['signaled'] ? 'Yes' : 'No') . "\n"; echo "Stopped: " . ($status['stopped'] ? 'Yes' : 'No') . "\n"; echo "Exit Code: " . $status['exitcode'] . "\n"; echo "Termination Signal: " . $status['termsig'] . "\n"; echo "Stop Signal: " . $status['stopsig'] . "\n"; // 关闭进程proc_close($process); }

Im obigen Beispiel verwenden wir Proc_open (), um einen Prozess zu öffnen und die Statusinformationen des Prozesses über Proc_get_Status () zu erhalten. Anschließend drucken wir die Befehlszeile des Prozesses, die Prozess -ID, unabhängig davon, ob sie vom Signal beendet wird, unabhängig davon, ob es suspendiert ist, Code beenden, Signal beenden und ein Pausesignal beenden. Schließlich haben wir den Prozess mit Proc_close () geschlossen.

Beachten Sie, dass mit Proc_open () geöffnete Prozesse explizit über Proc_close () geschlossen werden müssen, um Ressourcenleckage zu vermeiden.

Ähnliche Funktionen
Beliebte Artikel