无法终止用户的进程

无法终止用户的进程

我们服务器的一位用户不知怎么挂断了他的 xRDP 连接。现在他再也无法连接了。每次他尝试连接时,都会看到一个空白的黑屏。我认为这是由于他正在运行的 X11rdp 进程中出现了一些错误,所以我尝试使用killall X11rdpkill -KILLkill -s SIGCHLD、来终止该进程kill -9...然后我尝试使用 终止该用户的所有进程pkill -u。但它们不会消失。一个都没有。我真的不知道发生了什么。有什么想法吗?

附言

当然,我以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

相关内容