如何终止特定的 x11rdp 会话

如何终止特定的 x11rdp 会话

我在 ubuntu 12.04 中使用 x11rdp 和 xrdp v0.6.0

问题是,当我从家远程连接到办公室时,我的会话被卡住了!

当我重新开始工作时,我无法打开已经在 x11rdp 会话中运行的应用程序。例如 Firefox、empathy...

我必须关闭它们然后才能再次打开所需的应用程序。

我知道我可以,pkill -u user但这似乎不专业

我试过sudo service xrdp restart(或停止然后启动)。它不会关闭当前会话。

是否有像 Windows 服务器那样的 xrdp 会话管理器,或者我只能终止我的用户的会话?

答案1

使用以下命令:

ps u -u "$USER" | awk '/xrdp/ && ! /awk / {system("kill "$2)}'
  • $USER如果进程由与您不同的用户运行,则替换为另一个用户名
  • 替换xrdp为您的进程名称

答案2

要关闭您自己的会话,

pkill -HUP xrdp

应该足够好了。(对我来说,它很有用。)

答案3

ps aux | grep <user> | grep -i x11rdp

将在非 grep 行的第二列中为您提供进程 ID。

然后您就可以

kill -9 <pid>

答案4

列出所有 rdp 会话及其各自的 pid 和端口号:

{ echo "user pid Xdisplay port"; { ps -ef | \
  awk '/Xvnc :[[:digit:]]+/ {print $1,$2,$9}' | while read tu tpid tvnc; \
  do sudo netstat -tlpn | awk -v "tpid=${tpid}" '$0 ~ tpid {print $4;}' | \
  sed -r -e 's/^.*://;' -e "s/^/${tu} ${tpid} ${tvnc} /;" ; done ; } | \ 
  sort -k3 ; } | column -c4 -t 

然后你可以终止特定的进程 id (pid):

$ kill -9 <pid>

相关内容