php-ipc/src/Signal/Signal.php

24 lines
400 B
PHP
Raw Normal View History

2018-04-15 14:41:46 +00:00
<?php
namespace NoccyLabs\Ipc\Signal;
class Signal
{
private $signo;
public function __construct(int $signo)
{
$this->signo = $signo;
}
public function setHandler(callable $handler):void
{
pcntl_signal($this->signo, $handler);
}
public function dispatch($pid=null):bool
2018-04-15 14:41:46 +00:00
{
return posix_kill($pid?:posix_getpid(), $this->signo);
2018-04-15 14:41:46 +00:00
}
}