PHP pcntl_sigprocmask 进程控制函数

  • 定义和用法

    pcntl_sigprocmask - 设置或检索阻塞信号
  • 版本支持

    PHP4 PHP5 PHP7
    支持 v5.3.0+支持 支持
  • 语法

    pcntl_sigprocmask( int $how , array $set [, array &$oldset ] )
    pcntl_sigprocmask() 用来增加,删除或设置阻塞信号,具体行为 依赖于参数how。
  • 参数

    参数 必需的 描述
    how 设置pcntl_sigprocmask()函数的行为。 可选值:
    • SIG_BLOCK: 把信号加入到当前阻塞信号中。
    • SIG_UNBLOCK: 从当前阻塞信号中移出信号。
    • SIG_SETMASK: 用给定的信号列表替换当前阻塞信号列表。
    set 信号列表。
    oldset oldset是一个输出参数,用来返回之前的阻塞信号列表数组。
  • 返回值

    成功时返回 TRUE, 或者在失败时返回 FALSE。
  • 示例

    下面例子演示多进程示例:
    //将SIGHUP信号加入到阻塞信号中
    pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
    $oldset = array();
    //将SIGHUP从阻塞信号列表中移除并返回之前的阻塞信号列表。
    pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
    
  • 相关页面

    pcntl_sigwaitinfo() - 等待信号
    pcntl_sigtimedwait() - 带超时机制的信号等待