[英]How can I find pid of my PHP job on Linux?
我創建了幾個 PHP (CLI) 服務。 以最佳方式從另一個進程獲取他們的 PID。
但是,我找不到最佳解決方案..
不要grep
ps
的輸出。 相反,請使用pgrep
。 如果您只有一個 PHP 進程在運行,您可以通過名稱找到這些進程,如下所示:
pgrep php;
它會返回類似49282
東西。
但是,由於您聲明有幾個正在運行,您可以使用pgrep --full
區分它們。 例如,如果您正在運行 2 個命令php foo.php
和php bar.php
,並且您想要運行foo.php
的進程的 PID:
pgrep --full '^php foo\.php$'
雖然^
和$
在所有情況下都不是必需的,但它們可以防止誤報匹配。 有關正則表達式的更多信息,請參閱此grep
特定文檔。
如果我沒有弄錯,下面的代碼對你有用。
ps aux | grep php
最好的方法是在創建子進程后記住 PID。 分析完整進程列表的所有變體都可能導致錯誤的陽性結果。
另一種解決方案是查找/記住進程,誰啟動了子進程並搜索子進程。
不管怎樣,你給了我們更少的細節來幫助更具體的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.