web-dev-qa-db-ja.com

特定のx11rdpセッションを強制終了する方法

私はubuntu 12.04のxrdp v0.6.0でx11rdpを使用しています

自宅からオフィスにリモートで接続すると、セッションが停止するという問題があります!

仕事に戻ると、x11rdpセッションで既に実行されているアプリケーションを開くことができません。例えばFirefox、共感...

それらを閉じてから、必要なアプリを再度開くことができます。

pkill -u userできることはわかっていますが、プロではないようです

Sudo service xrdp restart(または停止してから開始)を試しました。現在のセッションを閉じません。

Windowsサーバーのようなxrdpセッションマネージャーはありますか、ユーザーのセッションのみを強制終了できますか?

3
kamil

以下のコマンドを使用します。

ps u -u "$USER" | awk '/xrdp/ && ! /awk / {system("kill "$2)}'
  • プロセスがあなたとは異なるユーザーで実行されている場合は、$USERを別のユーザー名に置き換えます
  • xrdpをプロセス名に置き換えます
2
A.B.
ps aux | grep <user> | grep -i x11rdp

grepではない行の2列目にプロセスIDが表示されます。

できます

kill -9 <pid>
0
Matthias

それぞれのpidおよびポート番号を持つすべてのrdpセッションをリストするには:

{ 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>

0
Richard Clark