Command-Line

如何恢復無法分離的螢幕?

  • August 6, 2018

我使用螢幕螢幕視覺控制台。要分離螢幕,我需要按Ctrl+ AD但有時會話會在不分離的情況下關閉。它顯示(Attached)screen -list

eduard@eduard-X:~$ screen -list
There are screens on:
       4561.pts-46.eduard-X   (30.03.2015 14:48:51)   (Attached)
       4547.pts-46.eduard-X   (30.03.2015 14:48:33)   (Detached)
       4329.pts-41.eduard-X   (30.03.2015 14:46:28)   (Attached)
       3995.pts-30.eduard-X   (30.03.2015 14:30:01)   (Detached)

如果我嘗試恢復它,螢幕會響應沒有要恢復的螢幕:

eduard@eduard-X:~$ screen -r 4329
There is a screen on:
       4329.pts-41.eduard-X   (30.03.2015 14:46:28)   (Attached)
There is no screen to be resumed matching 4329.

我仍然可以恢復我沒有正確分離的螢幕嗎?

當然,與

screen -d -r

您可以像往常一樣通過查找 pid(或完整名稱)來選擇要分離和重新連接的螢幕screen -list

screen -d -r 12345

您應該使用名稱創建螢幕。

$ screen -S foo

$ screen -list
There are screens on:
       16994.foo       (03/30/15 14:05:13)     (Detached)
       20082.q (12/17/14 18:06:44)     (Detached)
       11008.w (11/12/14 10:52:43)     (Detached)
       1199.irc        (11/12/14 01:34:40)     (Detached)

然後你可以重新連接螢幕

$ screen -dr foo

(將附加到 16994.foo,分離任何其他程序)或

$ screen -x i

(將附加到 1999.irc,它將與另一個程序共享螢幕)

我覺得命名螢幕很重要。

引用自:https://unix.stackexchange.com/questions/193365