如何杀死具有给定部分名称的所有进程?
我想杀死所有的进程:
ps aux | grep my_pattern
怎么做?
这不起作用:
pkill my_pattern
使用pkill -f
,它匹配命令行任何部分的模式
pkill -f my_pattern
杀死所有匹配string“myProcessName”的进程:
一个class轮:
ps -ef | grep myProcessName | grep -v grep | awk '{print $2}' | xargs kill -9
资料来源: http : //www.commandlinefu.com/commands/view/1138/ps-ef-grep-process-grep-v-grep-awk-print-2-xargs-kill-9
如果您在selectstream程时需要更多的灵活性,
for KILLPID in `ps ax | grep 'my_pattern' | awk ' { print $1;}'`; do kill -9 $KILLPID; done
你可以使用grep -e等
您可以使用以下命令列出进程
ps aux | grep -c myProcessName
如果您需要检查该进程的计数,然后运行
ps aux | grep -c myProcessName |grep -v grep
之后你可以使用杀死进程
kill -9 $(ps aux | grep -e myProcessName | awk '{ print $2 }')
如果你判断pkill -f PATTERN
有点太危险了,我写了一个bash脚本,提示你select那些与你要杀的PATTERN匹配的进程。
听起来不好?
pkill `pidof myprocess`
例:
# kill all java processes pkill `pidof java`
你也可以使用killall -r my_pattern
。 -r
进程名称模式解释为扩展正则expression式。
killall -r my_pattern
您可以使用以下命令
kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')
您可以使用以下命令来:
ps -ef | grep -i myprocess | awk {'print $2'} | xargs kill -9
要么
ps -aux | grep -i myprocess | awk {'print $2'} | xargs kill -9
这个对我有用。