一尘不染

从ps -ef | grep关键字获取pid

linux

我想用来ps -ef | grep "keyword"确定守护进程的pid(在ps -ef的输出中有一个唯一的字符串)。

我可以使用没有杀死pkill keywordpid的命令来返回进程吗?(pidof或pgrep不起作用)


阅读 923

收藏
2020-06-03

共1个答案

一尘不染

可以 使用pgrep,只要包括这些-f选项即可。这使得pgrep整个命令(包括参数)中都具有匹配关键字,而不仅仅是进程名称。

pgrep -f keyword

手册页

-f 该模式通常仅与进程名称匹配。时-f被设定,则使用完整的命令行。


如果您确实想避免使用pgrep,请尝试:

ps -ef | awk '/[k]eyword/{print $2}'

请注意[]关键字的第一个字母。这是避免匹配awk命令本身的有用技巧。

2020-06-03