当前位置: 首页> 函数类别大全> proc_get_status

proc_get_status

获取由 proc_open() 函数打开的进程的信息
名称:proc_get_status
分类:程序执行
所属语言:php
一句话介绍: 获取由 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() 显式地关闭,以避免资源泄漏。

同类函数
  • 执行一个命令,并且打开用来输入/输出的文件指针 proc_open

    proc_open

    执行一个命令,并且打开用来输入/输出的文
  • 执行外部程序并显示原始输出 passthru

    passthru

    执行外部程序并显示原始输出
  • 把字符串转码为可以在 shell 命令里使用的参数 escapeshellarg

    escapeshellarg

    把字符串转码为可以在shell命令里使用
  • 执行外部程序并显示输出 system

    system

    执行外部程序并显示输出
  • 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回 shell_exec

    shell_exec

    通过shell环境执行命令,并且将完整的
  • 获取由 proc_open() 函数打开的进程的信息 proc_get_status

    proc_get_status

    获取由proc_open()函数打开的进
  • 更改当前进程的优先级 proc_nice

    proc_nice

    更改当前进程的优先级
  • 关闭由 proc_open() 打开的进程并且返回进程退出码 proc_close

    proc_close

    关闭由proc_open()打开的进程并
热门文章