Eu escreveria um script de inicialização padrão com php start.php
como a função de início.
Quanto à função de parada, faça algo como:
kill -9 'ps -ef|grep "php Scanner.php"|awk '{ print $2 }''
E você pode deixar a função de status vazia.
Eu escrevi um manipulador de trabalho php para mediawiki. O script gerará 4 processos PHP (Scanner e três funcionários).
youri@pewpew:~$ ps -aux | grep php
www-data 1579 0.5 0.2 263888 12752 ? SN Feb19 38:44 php Scanner.ph
www-data 1581 0.0 0.2 263612 12656 ? SN Feb19 6:29 php Worker.php
www-data 1594 0.0 0.2 263612 12652 ? SN Feb19 6:13 php Worker.php
www-data 1597 0.0 0.2 263612 12652 ? SN Feb19 6:08 php Worker.php
youri 1961 0.0 0.0 9360 660 pts/0 R+ 11:48 0:00 grep --color=auto php
Os processos são iniciados com um arquivo start.php:
#!/usr/bin/php
<?php
require_once('config.php');
$logger->log('Starting scanner');
exec("nice -n 10 php Scanner.php > /dev/null 2>/dev/null &");
$logger->log('Starting workers');
for ($i = 0; $i < $config->getMaxRunningJobs(); $i++) {
exec("nice -n 10 php Worker.php > /dev/null 2>/dev/null &");
sleep(1);
}
$logger->log('Done');
Qual é a melhor maneira de adicionar isso a um script de inicialização (já que não tem stop / status)?
Eu escreveria um script de inicialização padrão com php start.php
como a função de início.
Quanto à função de parada, faça algo como:
kill -9 'ps -ef|grep "php Scanner.php"|awk '{ print $2 }''
E você pode deixar a função de status vazia.