php-ipc/src/Signal/Signal.php

24 lines
400 B
PHP

<?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
{
return posix_kill($pid?:posix_getpid(), $this->signo);
}
}