我需要search一个特定的过程,并杀死这个过程。 我写了这样一个命令:
ps -e | grep dmn | awk '{print $1}' | kill
进程名称是dmn
。 但它不工作。 我怎么才能find名字的过程,并kill
他们。
kill $(ps -e | grep dmn | awk '{print $1}')
万一有多个进程,你想删除你可以使用这个:
ps -efw | grep dmn | grep -v grep | awk '{print $2}' | xargs kill
注意:您需要从输出中删除grep进程本身,这就是为什么要使用grep -v grep
。
你可以使用
pkill dmn
如果你的系统有pkill命令的话 。
只需添加其他人,但我喜欢使用awk的正则表达式功能:
kill $(ps | awk '/dmn/{print $1}')
你也可以使用killall :
killall dmn
与-f选项一起使用pgrep
。 kill $(pgrep -f dmn)
如果你的系统上有pidof
命令(我知道默认情况下这样的shell如ZSH,除非我错了),你可以做类似的事情。
kill -9 $(pidof dmn)
for procid in $(ps -aux | grep "some search" | awk '{print $2}'); do kill -9 $procid; done
你好朋友..我们可以使用for循环。
“一些搜索”在这里是你想要搜索的任何进程名称,例如“java”,所以让我们说java进程的计数是200+,所以一个接一个的执行就太典型了。
所以你可以使用上面的命令。
谢谢。