Допустим, у меня есть несколько пользователей, одновременно выполняющих «рубиновые» процессы. Как мне написать команду оболочки, чтобы убить «рубиновый» процесс одного конкретного пользователя? (Я использую CentOS 5.5.)
pkill хорош для этого:
pkill -u particularUser ruby
Вы можете использовать pgrep с этим в качестве теста, прежде чем запускать его, чтобы увидеть имя процесса и pid того, что будет сигнализироваться:
pgrep -u particularUser -l ruby
В худшем случае, если вы можете войти или su -
как пользователь, вы можете выдать знаменитый kill -9 -1
команда КАК пользователю очистить свои процессы.
НЕ запускайте от root :)
Вы можете использовать -u
переключитесь на killall, чтобы ограничить область действия одним пользователем. Итак, для пользователя abc вы можете сделать: killall -u abc /usr/bin/ruby
(или что угодно, что будет соответствовать рубиновым процессам)
из man killall
:
-u, --user
Убивать только процессы, которыми владеет указанный пользователь. Имена команд указывать необязательно.