Не может убить процессы пользователя
Одному из пользователей нашего сервера удалось как-то повесить соединение xRDP. Теперь он не может больше подключаться. Каждый раз, когда он пытается подключиться, он получает пустой черный экран. Я подумал, что это из-за какой-то ошибки в процессе X11rdp, который он выполнял, поэтому я попытался убить процесс, используя killall X11rdp
, kill -KILL
, kill -s SIGCHLD
, kill -9
... Затем я попытался убить все процессы этого пользователя, используя pkill -u
, Но они не умрут. Никто из них. Я буквально понятия не имею, что происходит. Есть идеи?
PS
Конечно, я выполнил все эти команды как root.
1 ответ
Запустите это на процессах, которые есть у пользователя. Если у него есть проблемы с определенным процессом, он покажет вам родительский процесс. Затем вы можете запустить скрипт на родительском процессе.
Я не нашел процесса, который впоследствии не убил бы.
Создайте скрипт bash с помощью:
$ gedit killprocess.sh
Сценарий:
#!/bin/bash
if [[ ! "$1" ]]
then
echo "Parameter error... exiting..."
exit
fi
process=$1
count=0
results=0
while [[ $(ps h -fp $process) ]]
do
kill -9 $process
str1=$(ps h -fp $process|awk '{print "["$2"]["$3"]"}')
results=$?
echo -ne "[$str1]Response:$results..."
ret2=$(ps -ef | egrep "\s$process\s" | awk '$2 == '$process'{print "["$2"]["$3"]"}')
if [ ! "$ret2" ]
then
break
fi
if [[ -f stop ]]
then
exit
fi
if [[ $((count++)) -gt 5 ]]
then
echo -ne "\nGiving up... exiting...\n"
exit
fi
sleep 20
done
echo -ne "\n"
Сделайте его исполняемым:
$ chmod +x killprocess.sh
Запустите скрипт:
$ sudo ./killprocess.sh