杀死由特定用户运行的进程

假设我有几个用户同时运行“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身份运行:)