スクリーンセッションを強制終了しようとしています。他の多くの関連する質問に気づきましたが、それらの答えのどれも私のために働いていません。次のセッションを強制終了しようとしています。
screen -ls
There is a screen on:
23520.pts-6.porkypig (09/30/2013 02:49:47 PM) (Detached)
1 Socket in /var/run/screen/S-root.
screen -r 23520.pts-6.porkypig
今、私はセッション中です。ドキュメントによると:
http://www.gnu.org/software/screen/manual/screen.html#Quit
「control a」を押してから「control \」を押すことになっています。それをしても何も起こりません。
別の解決策は Ctrl+a そして、:quitと入力します。ただし、やはり何もしません。実際、押すと control+a、その後は「他のウィンドウはありません」というメッセージを除いて、まったく何も起こりません
最初に、画面セッションに再接続する必要がありますscreen -r 23520
あなたがやったように。次に ctrl + a そして資本 K を押す y セッションを本当に終了したいかどうかを尋ねるとき
添付せずにその画面を終了できます。まず、そのセッションを見つけます。
$ screen -ls
そしてそれをやめる:
$ screen -XS [session # you want to quit] quit
(-X =コマンドの実行、実行する-SセッションPID)
[UPDATE]
例:
screen -XS 20411 quit
これにより、すべての切り離された画面が強制終了されます。
screen -ls |分離されたgrep |カット-d。 -f1 | awk '{print $ 1}' | xargs kill
これにより、すべての画面がアタッチまたはデタッチされます
screen -ls | grep pts |カット-d。 -f1 | awk '{print $ 1}' | xargs kill
そのため、これらすべての公式の提案で、より簡単で、同じように効果的で、より簡単なものに進むことができます。
pkill screen
誰もがほとんど覚えていないかもしれないいくつかのコマンドを押すだけで、未知の不要な画面に行きたいと思うでしょうか?これは、それに入ることをまったく避け、すぐにそれを殺します。
さらに、1つ以上ある場合は、すべてが一気に行われます。
画面を更新するときにこの問題が発生しました。 screen
コマンドは、コマンドに追加した-D
または-R
の数に関係なく、セッションを再接続しようとするとハングします。ただし、screen -ls
はセッションのPIDを便利に提供するため、次を使用して介入できます。
10:42 user ~ $ screen -ls
There is a screen on:
5730.my_screen (Detached)
1 Socket in /tmp/screens/S-user.
10:42 user ~ $ Sudo kill 5730
10:43 user ~ $ screen -ls
No Sockets found in /tmp/screens/S-user.
(これはブライアントーマスの答えに似ていますが、彼は実行中のすべてのスクリーンセッションを強制終了します。
あなたと同じように、私はスクリーンセッションを終了したかったのですが、ドキュメントが役に立たないことがわかりました。 mustキーボードショートカットがあることを確信して、ctrl + a
その後\
作品
その後、プロンプトが表示されます:「すべてのウィンドウを本当に終了して強制終了します[y\n]」
ドキュメントにctrl + a
とctrl + \
と書かれている理由がわかりません。それは私には何もしません。
接続された実行中の画面のプロセスIDを見つけることができます。コマンドで取得できるセッションIDと同じであることがわかりました。screen -ls
次のコマンドを使用して、そのプロセスを強制終了できます。kill [sessionId]
またはSudo kill [sessionId]
他の端末ウィンドウに接続されている場合でも、画面を強制終了できます。
押すだけ Ctrl+D そしてそれは終了しました。