Если вы удалили пользователя и если при этом также были удалены все cronjobs и т. д., которые могли быть у пользователя, то перезагрузка системы должна позаботиться об уничтожении его процессов без их перезапуска при повторном запуске системы.
Если перезагрузка невозможна, вы можете отправить сигнал завершения всем процессам, принадлежащим пользователю с UID 1000, используя
sudu pkill -u 1000
Вы можете увидеть, на какие процессы повлияет эта команда, запустив сначала
pgrep -u 1000
См. также man pkill
.
Сначала я сохраню текущее состояние всех процессов сервера в файл.
ps -wwfax -o uid=,pid=,ppid=,cmd= > /root/list_of_process_as_today.txt
После этого я сосредоточусь на своем плохом пользователе.
ps -wwfax -o uid=,pid=,ppid=,cmd= | sed '/^ *1000 *\([0-9][0-9]*\).*$/p;d'
Примером вывода может быть:
1000 3096 3087 \_ sshd: em444@pts/0
1000 3099 3096 \_ -bash
1000 3543 3099 \_ ps -wwfax -o uid=,pid=,ppid=,cmd=
1000 3544 3099 \_ sed /^ *1000 *\([0-9][0-9]*\).*$/p;d
1000 21628 1 SCREEN
1000 21629 21628 \_ /bin/bash
Анализ списка процессов
моя текущая оболочка — это процесс 3099. вы можете увидеть какой-то дочерний процесс, команду, которую я выполнил 3543 , и один родительский 3096
Вы можете видеть, что у меня есть процесс 21628, его родителем является процесс 1 , процесс 1 является родителем всего процесса.
После того, как я смогу использовать эту команду, чтобы убить все процессы.
kill $(/root/list_of_process_as_today.txt | sed 's/^ *1000 *\([0-9][0-9]*\).*$/\1/p;d')