我想杀死所有我通过的进程:
ps aux | grep my_pattern
怎么做?
这不起作用:
pkill my_pattern
我想杀死所有我通过的进程:
ps aux | grep my_pattern
怎么做?
这不起作用:
pkill my_pattern
当前回答
这是一种方式:
kill -9 $(pgrep -d' ' -f chrome)
pgrep搜索与chrome相关的所有进程,并在一个用空格分隔的列表中返回它们。
这将传递给kill应用程序,该应用程序可以安全地终止所有相关的chrome进程。
这仍然很危险,小心。
其他回答
可以使用以下命令列出进程
ps aux | grep -c myProcessName
如果需要检查该进程的计数,请运行
ps aux | grep -c myProcessName |grep -v grep
之后,可以使用
kill -9 $(ps aux | grep -e myProcessName | awk '{ print $2 }')
也可以使用killall-r my_pattern-r将进程名称模式解释为扩展正则表达式。
killall -r my_pattern
最好和最安全的做法是将pgrep-f与kill一起使用,或者只使用pkill-f,greping ps的输出可能会出错。
与使用ps|grep(需要通过添加|grep-v或使用模式技巧来过滤掉grep行)不同,pgrep只是不会自行设计。
此外,如果你的模式出现在ps的UID/USER、SDATE/START或任何其他列中,你会在输出中得到不需要的进程并杀死它们,pgrep+pkill不会受到这个缺陷的影响。
我还发现killall-r/-regexp不能与正则表达式一起使用。
pkill-f“^python3路径/to/my_script$”
男子pkill
如果您不想为查找进程id而头疼,请使用regexp按名称终止进程。例如,要杀死chrome,请执行以下代码。
killall-r铬
使用pkill-f,它匹配命令行任何部分的模式
pkill -f my_pattern
万一它不起作用,也尝试使用这个:
pkill -9 -f my_pattern