2013-02-11 38 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