如何杀死一个用户的所有进程?
例如,当我制作时ps aux
,我获得了具有多个用户的进程列表,并且我想杀死用户的所有进程。name1
在 Ubuntu 中执行此操作的命令是什么?
答案1
在这种情况下,它非常简单,您可以用来killall
立即终止或发送任何其他信号到一堆进程。 “过滤”选项之一是所有者:killall --user name1
答案2
添加另一个选项,因为没有人提到它,而且我不喜欢killall
(在Solaris 上使用它可能会导致灾难)。
pkill
更便携
pkill -u username
答案3
安装slay
:
aptitude 安装 slay
然后发出slay some-user
.
请注意,如果您为不知道目的的用户删除某些内容,则可能会导致您的计算机无法使用(直到重新启动)。
如果你真的不想安装 slay:
ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill
(稍等一会)
ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9
答案4
根据man kill
:
kill -9 -1
Kill all processes you can kill.
要将其应用到不同的用户:
su -l username kill -9 -1