如何在 Linux 上終止分離的螢幕會話
簡介
單獨的螢幕會話是執行 Linux 機器上的後臺程序的絕佳方法。但是,有時可能需要終止不再需要的單獨螢幕會話。在本文中,我們將向您展示如何使用命令列在 Linux 上刪除單獨的螢幕會話。
當使用GNU screen工具時,我們有時會最終得到需要清理的單獨會話。在本快速教程中,我們將介紹一些刪除斷開連線的螢幕會話的選項。
會話列表
在我們開始討論如何結束現有會話之前,讓我們先瀏覽一下現有會話的列表。首先,讓我們設定幾個示例螢幕會話。在bash shell 中,我們輸入 -
$ screen -dmS my_session_1 $ screen -dmS my_session_2
這將建立兩個名為my_session_1和my_session_2的會話。請注意,我們沒有連線到任何一個(感謝-d選項)。現在,讓我們看看我們建立的會話 -
$ screen -list
我們的兩個會話顯示出來 -
There are screens on: 84581.my_session_1 (Detached) 76340.my_session_2 (Detached)
附加和終止螢幕會話
刪除螢幕會話的一種方法是附加它,然後刪除它。因此,讓我們附加到上面建立的第一個會話 -
$ exit
會話將結束,我們應該看到 -
[screen is terminating]
現在我們只剩下一個會話了 -
$ screen -list There is a screen on: 76340.my_session_2 (Detached)
如果螢幕會話有多個視窗,則在螢幕會話結束之前,我們必須在每個視窗中鍵入 exit(或 CTRL+a k)。一個更簡單的替代方案是 quit 命令 -
CTRL+a \
(注意 - 按鍵時需要按住CTRL+a。)這會要求我們確認 -
Really quit and kill all your windows [y/n]
我們選擇關閉所有會話視窗以結束螢幕會話。
上面的附加場景很簡單,因為我們在同一個視窗中建立了螢幕會話。現在,如果還有其他終端或使用者附加到我們想要刪除的會話,我們需要不同的命令來附加它。在當前的終端視窗中,建立一個新會話 -
$ screen -S my_session_3
-S 將建立會話並將其附加。現在,讓我們開啟第二個終端視窗並列出我們的螢幕會話 -
$ screen -list There is a screen on: 19643.my_session_3 (Attached)
請注意,它現在是“附加”,因為我們在第一個終端中連線。在我們的第二個終端中,我們將強制會話登出第一個終端視窗並連線到第二個終端。在第二個終端中,鍵入 -
$ screen -D -R my_session_3
無需附加即可終止螢幕會話
作為附加到會話以結束它的替代方法,讓我們看看一些無需附加即可結束螢幕會話的方法。
首先,我們相信要終止幾個會話 -
$ screen -dmS my_session_4 $ screen -dmS my_session_5
我們的兩個會話現已建立 -
$ screen -list There are screens on: 19665.my_session_4 (Detached) 19671.my_session_5 (Detached)
現在,我們可以使用引數-X screen 命令向執行“screen”會話傳送命令。他將允許我們指定命令將接收的會話。因此,要向my_session_4傳送退出命令,我們將使用 -
$ screen -S my_session_4 -X quit
screen -list顯示我們當前的會話 -
$ screen -list There is a screen on: 19671.my_session_5 (Detached)
最後,我們始終可以透過作業系統命令終止螢幕會話。名稱之前的數字是會話的PID,可用於透過 delete 命令終止會話。
$ kill -9 19671
這將結束會話19671
結論
在本文中,我們展示了在 Linux 上結束獨立螢幕會話的各種方法。我們展示瞭如何檢查單獨的顯示會話,如何使用“screen -X -S”命令刪除單獨的顯示會話,以及如何使用“exit”命令透過連結它刪除單獨的顯示會話。我們還介紹了一種在不連線的情況下結束單獨檢視會話的方法,使用“kill -9 PID”命令。請記住,刪除影片會話也將刪除在其中執行的所有程序。因此,使用此命令時請小心。