
我在 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>