2011-05-26 25 views
3

我有一个PHP脚本,生成10到100个PHP脚本,以帮助分担一些计算的负载。
问题是,这个父PHP脚本在后台启动并永远运行,所以它必须在某个时刻关闭。在你打到父母之前,盲目关闭PHP进程可能是一项艰巨的任务。如何用名称启动PHP进程?

是否有某种方式可以启动父级PHP进程的唯一名称,如“Ping循环”或其他方式在top界面中识别它?


我知道使用父级的PID创建守护进程或关闭脚本的替代方案。我在问这个问题,希望避免这样做。

+0

更多我不认为这是可能的纯PHP功能... – Tobias 2011-05-26 06:26:22

+0

为什么要避免平识别你的流程?它与进程名称完全相反。 – erenon 2011-05-26 06:28:34

+0

@erenon你的意思是'pid',对吧? – Hubro 2012-06-21 08:42:13

回答

4

检查顶级PHP脚本使用的是什么ps axuf或类似的命令。

3

当父脚本启动时,我会将getmypid()的值存储到文件中。这也是我见过其他程序正在做的事情,例如,默认情况下,apache将其主进程的PID存储在/usr/local/apache2/logs/httpd.pid中。

2

您可以使用proctitle pecl扩展附带的setproctitle()函数。这个函数为你的php脚本设置一个标题,这样你就可以很容易地识别它们。

您可以阅读http://www.php.net/manual/en/function.setproctitle.php

+0

这可能会导致内存损坏。来源:https://wiki.php.net/rfc/cli_process_title(实现标题) – 2015-10-03 15:09:13