我有一個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