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:
Rückgabewert:
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.