proc_get_status
獲取由proc_open() 函數打開的進程的信息
函數名稱:proc_get_status()
函數描述:proc_get_status() 函數用於獲取由proc_open() 函數打開的進程的狀態信息。
適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
語法:array proc_get_status ( resource $process )
參數:
返回值:
示例:
$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); }
以上示例中,我們使用proc_open() 打開了一個進程,並通過proc_get_status() 獲取該進程的狀態信息。然後,我們打印了進程的命令行、進程ID、是否正在運行、是否被信號終止、是否被暫停、退出碼、終止信號和暫停信號。最後,我們使用proc_close() 關閉了進程。
請注意,使用proc_open() 打開的進程需要通過proc_close() 顯式地關閉,以避免資源洩漏。