PHP code example of mougrim / pcntl-signal-handler
1. Go to this page and download the library: Download mougrim/pcntl-signal-handler library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
mougrim / pcntl-signal-handler example snippets
// в начале подключаем SignalHandler, что бы был вызван declare(ticks = 1);
nalExample = new SignalExample($signalHandler);
$signalExample->run();
class SignalExample
{
private $signalHandler;
public function __construct(Mougrim_Pcntl_SignalHandler $signalHandler)
{
$this->signalHandler = $signalHandler;
}
public function run()
{
// добавляем обработчик сигнала SIGTERM
$this->signalHandler->addHandler(SIGTERM, array($this, 'terminate'));
// добавляем обработчик сигнала SIGINT
$this->signalHandler->addHandler(SIGINT, array($this, 'terminate'));
while(true)
{
$this->signalHandler->dispatch();
// итерация цикла
echo "итерация цикла\n";
usleep(300000);
}
}
public function terminate()
{
// послать SIGTERM детям
// ...
echo "terminate\n";
exit(0);
}
}
// в начале подключаем SignalHandler, что бы был вызван declare(ticks = 1);
signalExample = new SignalExample53($signalHandler);
$signalExample->run();
class SignalExample53
{
private $signalHandler;
public function __construct(\Mougrim\Pcntl\SignalHandler $signalHandler)
{
$this->signalHandler = $signalHandler;
}
public function run()
{
// добавляем обработчик сигнала SIGTERM
$this->signalHandler->addHandler(SIGTERM, array($this, 'terminate'));
// добавляем обработчик сигнала SIGINT
$this->signalHandler->addHandler(SIGINT, array($this, 'terminate'));
while(true)
{
$this->signalHandler->dispatch();
// итерация цикла
echo "итерация цикла\n";
usleep(300000);
}
}
public function terminate()
{
// послать SIGTERM детям
// ...
echo "terminate\n";
exit(0);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.