-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathinit.php
More file actions
37 lines (25 loc) · 1.24 KB
/
init.php
File metadata and controls
37 lines (25 loc) · 1.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?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);