<?php var_dump($_SERVER['argv']); $running = true; $exitSig = 0; function signal($sig) { global $running, $exitSig; echo 'init sig = ', $sig, PHP_EOL; $running = false; $exitSig = $sig; task_set_run(false); } pcntl_async_signals(true); pcntl_signal(SIGTERM, 'signal', false); pcntl_signal(SIGINT, 'signal', false); pcntl_signal(SIGUSR1, 'signal', false); pcntl_signal(SIGUSR2, 'signal', false); task_set_delay(3); task_set_threads(4); create_task('daemon1', __DIR__ . '/daemon.php', ['daemon1', rand(), bin2hex(random_bytes(1))], __DIR__ . '/daemon.log') or die('create_task failure'); create_task('daemon2', __DIR__ . '/daemon.php', ['daemon2', rand(), bin2hex(random_bytes(2))], __DIR__ . '/daemon.log') or die('create_task failure'); create_task('daemon3', __DIR__ . '/daemon.php', ['daemon3', rand(), bin2hex(random_bytes(3))], __DIR__ . '/daemon.log') or die('create_task failure'); create_task('cmd1', __DIR__ . '/cmd.php', ['cmd1', rand(), bin2hex(random_bytes(3))], __DIR__ . '/cmd.log') or die('create_task failure'); create_task('cmd2', __DIR__ . '/cmd.php', ['cmd2', rand(), bin2hex(random_bytes(3))], __DIR__ . '/cmd.log') or die('create_task failure'); while($running) usleep(10000); task_wait($exitSig);