Answers:
您可以使用pgrep
,只要包括这些-f
选项即可。这使得pgrep
整个命令(包括参数)中都具有匹配关键字,而不仅仅是进程名称。
pgrep -f keyword
从手册页:
-f
该模式通常仅与进程名称匹配。时-f
被设定,则使用完整的命令行。
如果您确实想避免pgrep,请尝试:
ps -ef | awk '/[k]eyword/{print $2}'
注意[]
关键字的第一个字母。这是避免匹配awk
命令本身的有用技巧。
kill -9 `pgrep -f keyword`
ps aux | grep chrome
[k]
技巧pgrep -f
。我的脚本在子外壳中运行,因此我认为它正在使用其父命令(很难确定-执行完命令后返回的pid消失了!)
pkill -9 -f keyword
吗?
尝试
ps -ef | grep "KEYWORD" | awk '{print $2}'
该命令应为您提供其中带有KEYWORD的进程的PID。在这种情况下,awk
从输出返回第二列中的内容。
| head -1
。
要通过特定关键字终止进程,可以在~/.bashrc
(linux)或~/.bash_profile
(mac)中创建一个别名。
alias killps="kill -9 `ps -ef | grep '[k]eyword' | awk '{print $2}'`"
| head -1
包装的末尾添加一个管道,可以使整个包装变得美观而整洁。