Join 4,000+ others and never miss out on new tips, tutorials, and more.
4.x is outdated, please check the latest version 22.x
Latest version:
pecl install openswoole-22.1.2
<?php Swoole\Process::kill ( int $pid [, int $signal_no ] )
the pid of child process
the signal to send, the default is SIGTERM
if sends signal successfully, it returns TRUE, otherwise it returns FALSE.
Send signal to the child process.
<?php
$child_num = 3;
$child_processes = [];
for($i = 1; $i <= $child_num; $i++)
{
$process = new Swoole\Process(function($worker){
echo "the pid of child process is " . $worker->pid . "\n";
$worker->name("php child process");
sleep(rand(20, 60));
}, FALSE);
$res = $process->useQueue(0, 2);
$pid = $process->start();
$child_processes[(string)$pid] = $process;
}
sleep(5);
foreach($child_processes as $pid => $child_process)
{
$ret = Swoole\Process::kill($pid);
var_dump($ret);
$ret = Swoole\Process::wait();
var_dump($ret);
}