# pcntl_sigprocmask

(PHP 5 >= 5.3.0, PHP 7)

pcntl_sigprocmask — 设置或检索阻塞信号

### 说明

pcntl_sigprocmask ( int `$how` , array `$set` [, array `&$oldset` ] ) : bool

函数pcntl_sigprocmask()用来增加，删除或设置阻塞信号，具体行为 依赖于参数`how`。

### 参数

`how`

  设置pcntl_sigprocmask()函数的行为。 可选值:

  - `SIG_BLOCK`: 把信号加入到当前阻塞信号中。
  - `SIG_UNBLOCK`: 从当前阻塞信号中移出信号。
  - `SIG_SETMASK`: 用给定的信号列表替换当前阻塞信号列表。
`set`

  信号列表。

`oldset`

  `oldset`是一个输出参数，用来返回之前的阻塞信号列表数组。

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。

### 范例

Example #1 pcntl_sigprocmask() 示例

    <?php
    //将SIGHUP信号加入到阻塞信号中
    pcntl_sigprocmask(SIG_BLOCK, array(SIGHUP));
    $oldset = array();
    //将SIGHUP从阻塞信号列表中移除并返回之前的阻塞信号列表。
    pcntl_sigprocmask(SIG_UNBLOCK, array(SIGHUP), $oldset);
    ?>

### 参见

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