终止特定用户运行的进程

终止特定用户运行的进程

假设我有几个用户同时运行“ruby”进程。我该如何编写 shell 命令来终止某个特定用户的“ruby”进程?(我在 CentOS 5.5 上。)

答案1

pkill 非常适合这个:

pkill -u particularUser ruby

在运行之前,您可以使用 pgrep 进行测试,以查看将要发出信号的进程名称和 pid:

pgrep -u particularUser -l ruby

答案2

您可以使用-ukillall 开关将范围限制为单个用户。因此,对于用户 abc,您可以执行以下操作:(killall -u abc /usr/bin/ruby或任何与 ruby​​ 进程匹配的操作)

man killall

-u, --user
仅杀死指定用户拥有的进程。命令名称是可选的。

答案3

最坏的情况是,如果您可以登录或su -以用户身份登录,则可以kill -9 -1以用户身份发出著名的命令来清理其进程。

请勿以 root 身份运行:)

相关内容