牛牛在线工具

proc_get_status()

收录 8868 个 PHP 函数,含用途说明与用法示例。

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 ) 参数: process: 由 proc_open() 返回的进程资源。 返回值: 返回一个包含进程状态信息的关联数组。数组包含以下键值: command:进程的命令行。 pid:进程的 ID。 running:进程是否正在运行的布尔值。 signaled:进程是否被信号终止的布尔值。 stopped:进程是否被暂停的布尔值。 exitcode:进程的退出码。如果进程仍在运行,则为负值。 termsig:进程终止的信号编号。 stopsig:进程暂停的信号编号。 示例: $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() 显式地关闭,以避免资源泄漏。