假设我有几个用户同时运行“ruby”进程。我该如何编写 shell 命令来终止某个特定用户的“ruby”进程?(我在 CentOS 5.5 上。)
答案1
pkill 非常适合这个:
pkill -u particularUser ruby
在运行之前,您可以使用 pgrep 进行测试,以查看将要发出信号的进程名称和 pid:
pgrep -u particularUser -l ruby
答案2
您可以使用-u
killall 开关将范围限制为单个用户。因此,对于用户 abc,您可以执行以下操作:(killall -u abc /usr/bin/ruby
或任何与 ruby 进程匹配的操作)
从man killall
:
-u, --user
仅杀死指定用户拥有的进程。命令名称是可选的。
答案3
最坏的情况是,如果您可以登录或su -
以用户身份登录,则可以kill -9 -1
以用户身份发出著名的命令来清理其进程。
请勿以 root 身份运行:)