通过bash脚本关闭屏幕

时间:2011-03-23 07:27:50

标签: linux bash shell gnu-screen

我正在尝试通过运行应用程序的脚本关闭screen(1)。我怎么能这样做?我正在做screen -dmS name stuff_to_execute,但它会创建一个新的。我试着搜索如何做到这一点,但一无所获。

4 个答案:

答案 0 :(得分:3)

来自screen(1)联机帮助页:

  

-d -m以“分离”模式启动屏幕。这会创建一个新会话但​​不会附加到该会话。这对系统启动脚本很有用。

所以我认为-dmS不会关闭正在运行的screen(1)

您想 kill 指定的screen(1)实例吗?或者你只是想强迫它分离?

如果你想要杀死:screen -S name -X quit

如果要分离:screen -dS name

答案 1 :(得分:1)

这是我用来关闭所有屏幕的内容:

screen -ls | grep Detached | awk '{print $1}' | cut -f1 -d'.' | while read in; do screen -X -S $in quit; done 

它会屏幕ID,并通过id退出所有内容。

答案 2 :(得分:0)

有时,一个顽固的脚本可以通过发送一个中止键序列来杀死打开一个屏幕:

screen -X -S "script0$scriptID" stuff "^C"

答案 3 :(得分:0)

:~$ screen -list

有屏幕:
23308.rsamikan-3(2015年7月20日星期一04:42:05 IST)(独立)
23014.rsamikan-2(2015年7月20日星期一04:41:53 IST)(独立)
22730.rsamikan-1(2015年7月20日星期一04:41:44 IST)(独立)
16037.rsamikan-remote(2015年7月20日星期一02:51:37 IST)(附) / var / run / screen / S-rsamikan中的4个套接字。

我只使用以下脚本杀死并擦除分离的屏幕。

:~$ **screen -list | grep Detached | awk '{print $1}' | while read in; do screen -X -S $in quit; done**

:~$ screen -list

屏幕上有:

16037.rsamikan-remote(2015年7月20日星期一02:51:37 IST)(附) 1个/ var / run / screen / S-rsamikan中的套接字。