我想杀死所有我通过的进程:
ps aux | grep my_pattern
怎么做?
这不起作用:
pkill my_pattern
我想杀死所有我通过的进程:
ps aux | grep my_pattern
怎么做?
这不起作用:
pkill my_pattern
当前回答
可以使用以下命令:
ps -ef | grep -i myprocess | awk {'print $2'} | xargs kill -9
or
ps -aux | grep -i myprocess | awk {'print $2'} | xargs kill -9
这对我有用。
其他回答
使用pkill-f,它匹配命令行任何部分的模式
pkill -f my_pattern
万一它不起作用,也尝试使用这个:
pkill -9 -f my_pattern
听起来很糟糕?
pkill `pidof myprocess`
例子:
# kill all java processes
pkill `pidof java`
如果你认为pkill-f模式有点太危险,我编写了一个bash脚本,提示你在那些与你想要杀死的模式匹配的进程中选择哪个进程。
警告:不再维护此项目。
可以使用以下命令
kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')
如果您在选择流程时需要更多的灵活性,请使用
for KILLPID in `ps ax | grep 'my_pattern' | awk ' { print $1;}'`; do
kill -9 $KILLPID;
done
您可以使用grep-e等。