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



есть ли надежный способ убить все процессы данного пользователя? kill(-1, SIGKILL) как этот пользователь будет работать, если изгоев процесс этого пользователя убивает процесс убийства в первую очередь. Лучшее, что я могу найти до сих пор, это петля через system("ps -u") для этого пользователя и убить процессы таким образом, но это кажется действительно хаки и неэффективно.



EDIT: чтобы уточнить, я специально прошу POSIX-совместимое решение. По какой-то причине я думал, что пометка вопроса posix поставит это в заглавие:.

634   5  

5 ответов:

просто (временно) убил мой Macbook с

killall -u pu -m .

где pu - мой идентификатор пользователя. Смотрите на точку в конце команды.

попробовать

pkill -u pu

или

ps -o pid -u pu | xargs kill -1

вот один лайнер, который делает это, просто замените имя пользователя на имя пользователя, для которого вы хотите убить вещи. Даже не думайте о том, чтобы пустить там корни!

pkill -9 -u `id -u username`

Примечание: Если вы хотите быть хорошим удалить -9, но это не убьет все виды процессов.

в Debian LINUX я использую:ps -o pid= -u username | xargs sudo kill -9.

С -o pid= заголовок ps подавляется, и выводится только список pid. Насколько я знаю, оболочка Debian соответствует POSIX.

Как насчет итерации в виртуальной файловой системе /proc ? http://linux.die.net/man/5/proc ?

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

kill  -9  -1

Comments

    Ничего не найдено.