Не может убить процессы пользователя

Одному из пользователей нашего сервера удалось как-то повесить соединение 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
Другие вопросы по тегам