Não é possível matar processos de um usuário

0

Um dos usuários do nosso servidor conseguiu travar sua conexão xRDP de alguma forma. Agora ele não pode mais se conectar. Cada vez que ele tenta se conectar, ele recebe uma tela preta em branco. Eu percebi que isso é devido a algum erro no processo do X11rdp que ele estava rodando, então eu tentei matar o processo usando killall X11rdp , kill -KILL , kill -s SIGCHLD , kill -9 ... Então eu tentei matar todos os processos de esse usuário usando pkill -u . Mas eles não vão morrer. Nenhum deles. Eu literalmente não tenho ideia do que está acontecendo. Alguma ideia?

P.S.

Claro, eu executei todos esses comandos como root.

    
por Eli Korvigo 19.02.2017 / 13:47

1 resposta

2

Execute isso nos processos que o usuário possui. Se tiver problemas em um processo específico, ele mostrará o processo pai. Você pode então executar o script no processo pai.

Ainda não encontrei um processo que não seja posteriormente eliminado.

Crie o script bash com:

$ gedit killprocess.sh

O script:

#!/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"

Torne-o executável:

$ chmod +x killprocess.sh

Execute o script:

$ sudo ./killprocess.sh
    
por L. D. James 19.02.2017 / 16:28