我想杀死所有我通过的进程:
ps aux | grep my_pattern
怎么做?
这不起作用:
pkill my_pattern
我想杀死所有我通过的进程:
ps aux | grep my_pattern
怎么做?
这不起作用:
pkill my_pattern
当前回答
可以使用以下命令
kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')
其他回答
听起来很糟糕?
pkill `pidof myprocess`
例子:
# kill all java processes
pkill `pidof java`
我接受了Eugen Rieck的答案并进行了处理。我的代码添加了以下内容:
ps-ax包含grep,所以我用grep-Eiv“grep”排除了它添加了一些“如果”和“回声”,使其具有可读性。
我创建了一个名为killseerver的文件,如下所示:
#!/bin/bash
PROCESS_TO_KILL=bin/node
PROCESS_LIST=`ps ax | grep -Ei ${PROCESS_TO_KILL} | grep -Eiv 'grep' | awk ' { print $1;}'`
KILLED=
for KILLPID in $PROCESS_LIST; do
if [ ! -z $KILLPID ];then
kill -9 $KILLPID
echo "Killed PID ${KILLPID}"
KILLED=yes
fi
done
if [ -z $KILLED ];then
echo "Didn't kill anything"
fi
后果
➜ myapp git:(master) bash killserver
Killed PID 3358
Killed PID 3382
Killed
➜ myapp git:(master) bash killserver
Didn't kill anything
这是一种方式:
kill -9 $(pgrep -d' ' -f chrome)
pgrep搜索与chrome相关的所有进程,并在一个用空格分隔的列表中返回它们。
这将传递给kill应用程序,该应用程序可以安全地终止所有相关的chrome进程。
这仍然很危险,小心。
可以使用以下命令
kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')
如果您不想为查找进程id而头疼,请使用regexp按名称终止进程。例如,要杀死chrome,请执行以下代码。
killall-r铬