crunch / signal
此包已被废弃,不再维护。未建议替代包。
处理信号处理
dev-master / 1.0.x-dev
2014-04-24 22:24 UTC
Requires
- php: ~5.4
- ext-pcntl: *
This package is not auto-updated.
Last update: 2024-01-11 01:23:23 UTC
README
简单的进程信号包装器
要求
- PHP => 5.4
- ext-pcntl => *
同时确保,不要通过 php.ini
中的 disabled_functions
设置禁用 pcntl_*()
。
用法
等待10秒钟接收 SIGTERM
信号。
use Crunch\Signal;
Signal\wait([Signal\TERM], function (Signal\Info $info) {
// Do something useful
}, 10);
推迟某些信号
use Crunch\Signal;
$oldMask = Signal\block([Signal\TERM, Signal\HUP]);
// Some critical stuff
Signal\reset($oldMask);
一个简单的计时器
use Crunch\Signal;
Signal\Timer(5);
Signal\wait([Signal\TERM, Signal\ALRM], function (Signal\Info $info) {
// Do something useful
}, 10);
注册信号处理器。需要 declare(ticks=x)
。
declare(ticks=1);
use Crunch\Signal;
require __DIR__ . '/../vendor/autoload.php';
echo posix_getpid() . PHP_EOL;
Signal\register(Signal\USR1, function (Signal\Info $info) { echo "USR1!"; exit; });
while (true) {
// very busy code
}
贡献者
有关如何贡献的详细信息,请参阅 CONTRIBUTING.md。
- Sebastian "KingCrunch" Krebs krebs.seb@gmail.com -- http://www.kingcrunch.de/ (德语)
许可证
本库采用MIT许可证。有关详细信息,请参阅LICENSE文件。