mkraemer/react-pcntl

ReactPHP 的 PCNTL 绑定

v3.0.0 2017-07-24 19:56 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:45:37 UTC


README

自 ReactPHP v0.5 版本起 event-loop 提供了原生 信号处理支持

React-PCNTL

Build Status Coverage Status

React PHP 的基本 PCNTL 绑定。

安装

通过 composer 安装此库是最好的方法

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

此库依赖于 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();