如何終止特定的 x11rdp 會話

如何終止特定的 x11rdp 會話

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

當我從家裡遠端連接到辦公室時,我的會話被卡住了!

當我回去工作時,我無法打開已在 x11rdp 會話中運行的應用程式。例如 Firefox、同理心...

我必須關閉它們然後才能再次打開所需的應用程式。

我知道我可以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>

相關內容