Linux 下 "GNU Screen" 工具的使用

GNU Screen 是一个终端复用工具,例如SSH连接时,使用Screen创建一个session后,即便SSH因为不明原因被断开,而这个session中运行的程序也不会终止。

常用命令

1
2
3
4
5
screen -S yourname    -> 新建一个叫yourname的session
screen -ls -> 列出当前所有的session
screen -r yourname -> 回到yourname这个session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session

组合键Ctrl+A+D暂时离开当前session,将目前的 screen session (可能含有多个 windows) 丢到后台执行,并会回到还没进 screen 时的状态。

强制关闭某个screen,首先screen -list查看现有screen,然后kill [PID],如下

1
2
3
4
5
6
7
8
9
10
[root@instance-4x27gapo ~]# screen -list
There are screens on:
1529.fivem (Detached)
1291.pts-0.instance-4x27gapo (Detached)
2 Sockets in /var/run/screen/S-root.
[root@instance-4x27gapo ~]# kill 1291
[root@instance-4x27gapo ~]# screen -list
There is a screen on:
1529.fivem (Detached)
1 Socket in /var/run/screen/S-root.