如何在ubuntu上运行多个php脚本?

时间:2015-09-25 14:28:20

标签: php linux ubuntu

我有一个网页,它应该在后台运行php进程作业。 此外,它应该能够识别每个进程以便以后关闭它。防爆。 Worker1,Worker2 ...... 这是如何实现的?还有如何杀死程序? 操作系统是ubuntu。 *这些脚本总是在后台运行,所以它们不会被自己杀死。

1 个答案:

答案 0 :(得分:2)

您可以在开头使用nohup并在命令末尾使用&符号将脚本和其他shell任务放在后台:

~$ nohup php script.php >> /var/tmp/script.log 2>&1 &

请注意,使用选项2>&1可将输出(标准错误和输出)重定向到标准输出,然后重定向到用于记录的文件(此处为/var/tmp/script.log)。

编辑: 使用命令jobs,您可以列出您在会话中处于活动状态的流程(此处1797是流程pid):

~$ jobs -l
[1]+  1797 Running   nohup php script.php >> /var/tmp/script.log 2>&1 &

您可以在发现进程pid后向进程发送信号。 好好地杀死""一个进程(其中${PID}是进程pid):

~$ kill -SIGTERM ${PID}

如果进程卡住,您可以使用信号SIGKILL(或-9)。请注意,SIGKILL无法被拦截,然后该过程立即结束,没有任何"清洁"操作(关闭临时文件等)。 kill -9 ${PID}kill -SIGKILL ${PID}应仅用作最后一个资源。

这里有一些理论:

关于Gnu / Linux的好课程:

相关问题