Убить все процессы определенного пользователя в Ubuntu?

Убить все процессы определенного пользователя в Ubuntu?

Как завершить все процессы одного пользователя?

Когда я делаю, ps auxя получаю список процессов с несколькими пользователями, и я хочу убить все процессы пользователя name1, например. Какая команда делает это в Ubuntu?

решение1

В этом случае все довольно просто, можно использовать killallдля kill или отправки любого другого сигнала сразу нескольким процессам. Один из вариантов "фильтрации" — владелец:killall --user name1

решение2

Добавляю еще одну опцию, потому что ее никто не упомянул, и она мне не нравится killall(ее использование на Solaris может привести к катастрофе).

pkillболее портативен

pkill -u username

решение3

Установить slay:

aptitude установить убить

Затем выдайте slay some-user.

Имейте в виду, что если вы уничтожите что-то для пользователей, не зная, зачем это нужно, вы можете сделать свой компьютер непригодным для использования (пока вы не перезагрузите его).

Если вы действительно не хотите устанавливать slay:

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill

(Подожди немного)

ps -e -o user,pid | grep '^some-user ' | awk '{ print $2 }' | xargs kill -9

решение4

В соответствии с man kill:

kill -9 -1
    Kill all processes you can kill.

Чтобы применить его к другому пользователю:

su -l username kill -9 -1

Связанный контент