screen终端会话管理

测试系统openSUSE

启动一个带有名称和log的会话

screen -L -Logfile xxx.log -S 01

1
screen -L -Logfile xxx.log -S 01

查看所有启动的会话

screen -ls

1
2
3
4
5
screen -ls
There are screens on:
22542.02 (Attached)
21584.01 (Attached)
2 Sockets in /run/uscreens/S-xxxx.

恢复某一个会话

screen -r pid.id

1
2
3
4
screen -r 22542.02
There is a screen on:
22542.02 (Attached)
There is no screen to be resumed matching 22542.02.

在不同会话间切换

Ctrl+A ‘

  • Ctrl+A(放手再按数字 {1 |2 | 0}会切换到会话代号1或者 2或者 0
    1
    Ctrl+A 1

显示所有运行的会话

Ctrl+A “

  • 同时按下Ctrl和A 然后松手再按Shift+” 可以看到所有启动的会话
    1
    2
    3
    4
    Num Name   Flags
    0 bash $
    1 bash $
    2 bash $

查看所有会话的pid

1
2
3
4
5
ps -ef | grep screen
xxxx 21583 19156 0 05:09 pts/1 00:00:00 screen -L -Logfile 01.log -S 01
xxxx 22541 11371 0 05:11 pts/0 00:00:00 screen -L -Logfile 02.log -S 02
xxxx 23567 22543 0 05:13 pts/3 00:00:00 grep --color=auto screen

删除所有会话

在vps上运行会自动退出ssh链接

1
pkill screen

CentOS 6.10 版本

没有-Logfile选项 加-L会自动生成logfiel 也没有-ls选项需要用-list


版权声明: 署名非商用CC BY-NC 4.0

推荐文章