在 Ubuntu 中杀死特定用户的所有进程?

use*_*992 31 command-line process ubuntu

如何杀死一个用户的所有进程?

例如,当我让ps aux我获得多个用户的进程列表时,我想杀死 user 的所有进程name1。在 Ubuntu 中执行此操作的命令是什么?

njs*_*jsg 34

在这种情况下,它非常简单,您可以使用一次killall杀死或发送任何其他信号到一堆进程。“过滤”选项之一是所有者:killall --user name1

  • 应该注意的是,例如Solaris Unix 中的`killall` 可以杀死*所有* 正在运行的进程!请参阅:http://en.wikipedia.org/wiki/Killall (5认同)

phe*_*mer 22

添加另一个选项,因为没有人提到它,而且我不喜欢killall(在solaris 上使用它会导致灾难)。

pkill 更便携

pkill -u username
Run Code Online (Sandbox Code Playgroud)


jmt*_*mtd 1

安装slay

aptitude 安装 slay

然后发出slay some-user.

请注意,如果您为不知道其目的的用户删除某些内容,则可能会导致您的计算机无法使用(直到您重新启动)。

如果你真的不想安装 slay:

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill
Run Code Online (Sandbox Code Playgroud)

(稍等一会)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9
Run Code Online (Sandbox Code Playgroud)