我想杀死所有我通过的进程:

ps aux | grep my_pattern

怎么做?

这不起作用:

pkill my_pattern

当前回答

可以使用以下命令

kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')

其他回答

如果你认为pkill-f模式有点太危险,我编写了一个bash脚本,提示你在那些与你想要杀死的模式匹配的进程中选择哪个进程。

警告:不再维护此项目。

也可以使用killall-r my_pattern-r将进程名称模式解释为扩展正则表达式。

killall -r my_pattern

如果您在选择流程时需要更多的灵活性,请使用

for KILLPID in `ps ax | grep 'my_pattern' | awk ' { print $1;}'`; do 
  kill -9 $KILLPID;
done

您可以使用grep-e等。

这是一种方式:

kill -9 $(pgrep -d' ' -f chrome)

pgrep搜索与chrome相关的所有进程,并在一个用空格分隔的列表中返回它们。

这将传递给kill应用程序,该应用程序可以安全地终止所有相关的chrome进程。

这仍然很危险,小心。

可以使用以下命令

kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')