假设我有几个用户同时运行“ruby”进程。 如何编写一个shell命令来杀死一个特定用户的“ruby”进程? (我在CentOS 5.5上。)
pkill对这个很好:
pkill -u particularUser ruby
你可以使用pgrep作为一个testing,然后运行它来查看进程名称和pid的信号:
pgrep -u particularUser -l ruby
您可以使用-u
开关killall将范围限制为单个用户。 所以对于用户abc你可以这样做: killall -u abc /usr/bin/ruby
(或者任何可以匹配ruby proccesses的东西)
从man killall
:
-u,–user
杀死只处理指定的用户拥有。 命令名是可选的。
最坏的情况是,如果你可以login或su -
作为用户,你可以发出着名的kill -9 -1
命令作为用户清理他们的进程。
不要以root身份运行:)