我有一个PHP脚本,生成10到100个PHP脚本,以帮助分担一些计算的负载。
问题是,这个父PHP脚本在后台启动并永远运行,所以它必须在某个时刻关闭。在你打到父母之前,盲目关闭PHP进程可能是一项艰巨的任务。如何用名称启动PHP进程?
是否有某种方式可以启动父级PHP进程的唯一名称,如“Ping循环”或其他方式在top
界面中识别它?
我知道使用父级的PID创建守护进程或关闭脚本的替代方案。我在问这个问题,希望避免这样做。
我有一个PHP脚本,生成10到100个PHP脚本,以帮助分担一些计算的负载。
问题是,这个父PHP脚本在后台启动并永远运行,所以它必须在某个时刻关闭。在你打到父母之前,盲目关闭PHP进程可能是一项艰巨的任务。如何用名称启动PHP进程?
是否有某种方式可以启动父级PHP进程的唯一名称,如“Ping循环”或其他方式在top
界面中识别它?
我知道使用父级的PID创建守护进程或关闭脚本的替代方案。我在问这个问题,希望避免这样做。
检查顶级PHP脚本使用的是什么ps axuf
或类似的命令。
当父脚本启动时,我会将getmypid()
的值存储到文件中。这也是我见过其他程序正在做的事情,例如,默认情况下,apache将其主进程的PID存储在/usr/local/apache2/logs/httpd.pid
中。
您可以使用proctitle pecl扩展附带的setproctitle()函数。这个函数为你的php脚本设置一个标题,这样你就可以很容易地识别它们。
这可能会导致内存损坏。来源:https://wiki.php.net/rfc/cli_process_title(实现标题) – 2015-10-03 15:09:13
更多我不认为这是可能的纯PHP功能... – Tobias 2011-05-26 06:26:22
为什么要避免平识别你的流程?它与进程名称完全相反。 – erenon 2011-05-26 06:28:34
@erenon你的意思是'pid',对吧? – Hubro 2012-06-21 08:42:13