Назад | Перейти на главную страницу

Убить процесс, запущенный определенным пользователем

Допустим, у меня есть несколько пользователей, одновременно выполняющих «рубиновые» процессы. Как мне написать команду оболочки, чтобы убить «рубиновый» процесс одного конкретного пользователя? (Я использую 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
Убивать только процессы, которыми владеет указанный пользователь. Имена команд указывать необязательно.