From 1552c816195c0b8f473c4dd82d49a93d3da72ecd Mon Sep 17 00:00:00 2001 From: zyhibook Date: Mon, 25 Jan 2021 15:46:20 +0800 Subject: [PATCH] Update screen.md --- command/screen.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/command/screen.md b/command/screen.md index d383bb8ab0a..5f2816f085d 100644 --- a/command/screen.md +++ b/command/screen.md @@ -156,14 +156,33 @@ Screen默认会为窗口命名为编号和窗口中运行程序名的组合, 如果由于某种原因其中一个会话死掉了(例如人为杀掉该会话),这时screen -list会显示该会话为dead状态。使用screen -wipe命令清除该会话: - **关闭或杀死窗口** + **关闭或杀死一个Screen会话** -正常情况下,当你退出一个窗口中最后一个程序(通常是bash)后,这个窗口就关闭了。另一个关闭窗口的方法是使用C-a k,这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。 +正常情况下,当你退出一个窗口中最后一个程序(通常是bash)后,这个窗口就关闭了。另一个关闭窗口的方法是使用`ctrl`+`a` 键,然后按下`k`键,最后当提示你是否要杀死这个会话时按下`y`键,这个快捷键会杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。 如果一个Screen会话中最后一个窗口被关闭了,那么整个Screen会话也就退出了,screen进程会被终止。 除了依次退出/杀死当前Screen会话中所有窗口这种方法之外,还可以使用快捷键C-a :,然后输入quit命令退出Screen会话。需要注意的是,这样退出会杀死所有窗口并退出其中运行的所有程序。其实C-a :这个快捷键允许用户直接输入的命令有很多,包括分屏可以输入split等,这也是实现Screen功能的一个途径,不过个人认为还是快捷键比较方便些。 +此外,这里再介绍另外一种快速杀死一个Screen会话的命令: + +``` +[root@TS-DEV ~]# screen -ls #列出存在的会话 +[root@TS-DEV ~]# screen -XS "会话id或者名称" quit +``` + +**示例:** + +``` +[root@TS-DEV ~]# screen -ls +There are screens on: + 11235.test (01/25/2021 03:35:31 PM) (Detached) +1 Sockets in /run/screen/S-root. +[root@TS-DEV ~]# screen -XS 11235 quit +#或者 +[root@TS-DEV ~]# screen -XS test quit +``` + ### screen 高级应用  **会话共享**