我想用ps -ef | grep "keyword"
來確定守護進程的pid(在ps -ef的輸出中有一個唯一的字符串)。從ps -ef | grep關鍵字獲取pid
我可以用pkill keyword
殺死進程有沒有任何命令返回pid而不是殺死它? (或者的pidof p纖ep不工作)
我想用ps -ef | grep "keyword"
來確定守護進程的pid(在ps -ef的輸出中有一個唯一的字符串)。從ps -ef | grep關鍵字獲取pid
我可以用pkill keyword
殺死進程有沒有任何命令返回pid而不是殺死它? (或者的pidof p纖ep不工作)
你可以使用pgrep
只要你包括-f
選項。這使得pgrep
與整個命令(包括參數)中的關鍵字相匹配,而不僅僅是進程名稱。
pgrep -f keyword
從man page:
-f
圖案通常只針對進程的名稱相匹配。當設置-f
時,將使用完整的命令行。
如果你真的想避免p纖ep,嘗試:
ps -ef | awk '/[k]eyword/{print $2}'
注意[]
圍繞關鍵詞的第一個字母。這是避免匹配awk
命令本身的有用技巧。
嘗試
ps -ef | grep "KEYWORD" | awk '{print $2}'
這個命令應該給你對其中的關鍵字進程的PID。在這種情況下,awk
正在返回輸出中第二列的內容。
因爲這可以返回多個pid,您可以通過追加'|來獲得第一個pid。頭-1「。 – Kris
這是在Linux上使用:的pidof關鍵字
我用
ps -C "keyword" -o pid=
這個命令應該給你一個PID號。
感謝:)有點新到linux這個-f作品:P –
不客氣,丹尼斯。 –
ps被過度使用,並且pgrep如此使用不足。感謝這篇文章。 –