werkint/react-pcntl

此包已被弃用且不再维护。作者建议使用werkint/react-pcntl包代替。

ReactPHP的PCNTL绑定

v2.1.0 2016-05-12 19:46 UTC

This package is not auto-updated.

Last update: 2022-02-01 13:02:59 UTC


README

Build Status Coverage Status

React PHP提供基本的PCNTL绑定。

## 安装

通过composer安装此库是最佳方式

{
    "require": {
        "mkraemer/react-pcntl": "2.1.*"
    }
}

此库依赖于PCNTL扩展。**注意**:此库的版本2要求PHP >= 5.4。如果您使用的是PHP 5.3,请使用1.0.*版本

{
    "require": {
        "mkraemer/react-pcntl": "1.0.*"
    }
}

使用方法

此库提供了一个PCNTL类,它接受一个事件循环和可选的计时器间隔作为构造函数参数,在该间隔中应该读取PCNTL信号。初始化类后,您可以使用on()方法向PCNTL信号注册事件监听器。

$loop = React\EventLoop\Factory::create();
$pcntl = new MKraemer\ReactPCNTL\PCNTL($loop);

$pcntl->on(SIGTERM, function () {
    // Clear some queue
    // Write syslog
    // Do ALL the stuff
    echo 'Bye'.PHP_EOL;
    die();
});

$pcntl->on(SIGINT, function () {
    echo 'Terminated by console'.PHP_EOL;
    die();
});

echo 'Started as PID '.getmypid().PHP_EOL;
$loop->run();