use*_*879 68 linux bash shell command-line command-line-arguments
我需要搜索某个进程并终止该进程.我写了这样一个命令:
ps -e | grep dmn | awk '{print $1}' | kill
Run Code Online (Sandbox Code Playgroud)
进程名称的位置dmn.但它没有用.如何按名称和kill它们查找进程.
Dan*_*son 132
kill $(ps -e | grep dmn | awk '{print $1}')
Run Code Online (Sandbox Code Playgroud)
jco*_*ado 41
如果您要删除多个进程,可以使用以下命令:
ps -efw | grep dmn | grep -v grep | awk '{print $2}' | xargs kill
Run Code Online (Sandbox Code Playgroud)
注意:您需要从输出中删除grep进程本身,这grep -v grep就是使用的原因.
unu*_*tbu 15
你可以用
pkill dmn
Run Code Online (Sandbox Code Playgroud)
如果您的系统有pkill命令.
只是添加其他内容,但我喜欢使用 awk 的正则表达式功能:
kill $(ps | awk '/dmn/{print $1}')
Run Code Online (Sandbox Code Playgroud)
如果你pidof的系统上有这个命令(我知道像 ZSH 这样的 shell 默认带有这个命令,除非我弄错了),你可以做类似的事情。
kill -9 $(pidof dmn)
Run Code Online (Sandbox Code Playgroud)
小智 5
你可能不需要pipe这个,如果你有pidof命令并且知道图像名称,我是这样做的:
kill $(pidof synergyc)
Run Code Online (Sandbox Code Playgroud)
$()我理解这一点,因为它将输出转换为kill可以使用的变量,本质上就像管道一样。比其他一些选项更短、更容易理解,但也可能不太灵活、更直接。