Skip to content

Commit

Permalink
Update screen.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Jeffery186 authored and jaywcjlove committed Jan 29, 2021
1 parent a006195 commit 1552c81
Showing 1 changed file with 21 additions and 2 deletions.
23 changes: 21 additions & 2 deletions command/screen.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 高级应用 

**会话共享**
Expand Down

0 comments on commit 1552c81

Please sign in to comment.