Одному из пользователей нашего сервера удалось подвесить его xRDP соединение так или иначе. Теперь он не может соединиться больше. Каждый раз, когда он пытается соединиться, он получает пустой черный экран. Я полагал, что это происходит из-за некоторой ошибки в процессе X11rdp, который он выполнял, таким образом, я пытался уничтожить использование процесса killall X11rdp
, kill -KILL
, kill -s SIGCHLD
, kill -9
... Затем я пытался уничтожить все процессы того пользователя, использующего pkill -u
. Но они не умрут. Ни один из них. Я буквально понятия не имею, что происходит. Какие-либо идеи?
P.S.
Конечно, я выполнил все эти команды как корень.
Выполните это на процессах, которые имеет пользователь. Если это будет иметь проблемы на конкретном процессе, то это покажет Вам родительский процесс. Можно затем запустить скрипт на родительском процессе.
я не нашел процесс, который это еще впоследствии не уничтожит.
Создают сценарий удара с:
$ 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