2013-02-11 39 views
30

我在linux中創建了一個「myscreen」屏幕,它突然停止響應。我關閉了終端並試圖重新打開它。 「screen -ls」顯示屏幕已連接。我嘗試了以下命令,但沒有任何反應。在Linux中殺死附加屏幕

screen -r myscreen 
screen -D myscreen 
screen -D -RR myscreen 
screen -X -S myscreen quit 

任何幫助重新連接到屏幕或殺死屏幕非常感激。

+0

不知道屏幕是什麼,但如果它是一個進程,然後殺死-9? – 2013-02-11 04:52:32

+0

我不確定屏幕是否是一個過程。但是「kill -9」會殺死整個過程。但我想殺死特定的屏幕,並保持其他屏幕不間斷。 – Slowcoder 2013-02-11 05:02:46

+1

你試過屏幕-dr myscreen嗎? – Walfie 2013-02-11 05:06:08

回答

49
screen -X -S SCREENID kill 

重新連接時,可以使用下面的命令

screen -S SCREENNAME -p 0 -X quit 

您可以通過查看屏幕會話列表執行screen -ls

+0

我注意到第一個命令序列只會殺死最後一個窗口,如果你打開了多個窗口,而第二個命令序列實際上會殺死整個屏幕,而不管窗口的數量是多少。 – 2015-09-09 14:12:21

+0

是否有可能刪除所有進程並清除屏幕? – 2016-02-03 16:47:26

+2

當然可以使用'pkill screen'或者'killall screen' – 2016-02-04 01:06:09

0

我通常不會給我的屏幕實例命名,所以這可能沒有用,但是您是否嘗試了沒有'myscreen'部分的screen -r?平時對我來說,screen -r將顯示每個屏幕的PID,然後我可以交替使用screen -d -r <PID>

+0

是的,那是我嘗試的第一個命令。但它沒有迴應。我試圖以root用戶身份打開,但甚至沒有檢測到根用戶帳戶的屏幕。 – Slowcoder 2013-02-11 04:58:51

0

您可以創建一個函數來終止所有現有會話。看看Kill all detached screen sessions

列出所有活動會話使用 屏幕-r

上市的時候,用鼠標選擇您感興趣的會議,並粘貼。這樣

屏幕-r

4

從終端創建屏幕:

screen -S <screen_name> 

要查看屏幕的列表:

<screen -ls> or <screen -list> 

要進入特定的屏幕:

<screen -x screen_name> 

<screen -r screen_name> 

scr EEN


終止屏幕:

give ctrl+d screen will get terminated 

要取下屏幕:

give <ctrl+ad>or <screen -d >screen will get detached 

要重新屏:

screen -x <screen_name> or screen -r <screen_name> 

要殺死從終端的屏幕:

<screen -X -S screen_name quit> 

<screen -X -S screen_name kill> 

您可以使用SCREEN_NAME或PROCESS_ID執行命令。

+0

這只是一個屏幕命令列表,不是對這個特定問題的回答。 – 2014-12-29 08:21:15

+0

這些命令列表幫助我解決了我的問題,感謝您發佈 – 2015-07-05 06:13:07

-1

對於結果發現:Click Here

屏幕是一個全屏幕窗口管理器,多路複用幾個過程,通常是交互殼之間的物理終端。每個虛擬終端都有一個回滾歷史記錄緩衝區,以及允許用戶在窗口之間移動文本區域的複製粘貼機制。

+0

這不是很有幫助:它只是OP確實閱讀的手冊頁和備忘單的一部分。 – matiasg 2015-07-21 11:10:39

5

這對我很有幫助。獲得通過畫面ID:

screen -r 

screen -ls 

然後殺死屏:kill -9 <screenID> 它現在變成了死屏, 然後消滅它具有:screen -wipe

1

假設你的屏幕id有一個模式。然後,您可以使用以下代碼一次性終止所有連接的屏幕。

result=$(screen -ls | grep 'pattern_of_screen_id' -o) 
for i in $result; 
do  
    `screen -X -S $i quit`; 
done