我有一个关于终止正在运行的进程(以及我已经启动的进程)的问题
我已经启动了许多进程,现在我想终止它们
正在做
ps aux | grep aword
给了我想要终止的进程。(aword 是与进程相关的词)有很多,所以我需要一段时间才能杀死它们
我想做得更快。现在这些进程的一个特点是,有些进程的用户是“theuser”,有些进程的用户是“root”。我试过了,似乎我必须首先杀死带有“theuser”的那些,因为如果我先尝试根,该过程就会重新启动。
所以我的问题是如何才能终止上述 grep 命令产生的所有进程,但顺序是首先是“theuser”的进程,然后是 root 的进程(当然需要 sudo)
答案1
你最好使用pkill
(独自的)来完成这项任务:
通过以下方式终止进程姓名(部分/全部匹配):
pkill 'name'
通过以下方式终止进程姓名(完全符合):
pkill -x 'name'
通过以下方式终止进程完整命令行(部分/全部匹配):
pkill -f 'command'
通过以下方式终止进程完整命令行(完全符合):
pkill -xf 'command'
运行它而不sudo
尝试仅有的杀死匹配的进程“可由调用用户杀死”或尝试sudo
杀死所有匹配的进程。
注意:试运行(即只打印匹配的进程 ID,而不终止它们)可以通过更改pkill
为pgrep
或pgrep -l
和pgrep -a
(分别打印进程名称和完整命令行) ... 例如:
pgrep 'name'
或者:
pgrep -l 'name'
或者:
pgrep -lx 'name'
或者:
pgrep -lf 'command`
或者:
pgrep -lxf 'command'
同样pgrep -a
也如此。