PHP 和初始化脚本

PHP 和初始化脚本

我为 mediawiki 编写了一个 php 作业处理程序。该脚本将生成 4 个 PHP 进程(Scanner 和 3 个 Worker)。

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

该进程通过 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');

将其添加到初始化脚本的最佳方法是什么(因为它没有停止/状态)?

答案1

我将编写一个标准的初始化脚本作为php start.php启动函数。

至于停止功能,请执行以下操作:

kill -9 `ps -ef|grep "php Scanner.php"|awk '{ print $2 }'`

您可以将状态函数留空。

相关内容