我想用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如此使用不足。感谢这篇文章。 –