Linux: screen
查看【screen】后台进程:
[root@node1 ~]# screen -ls
No Sockets found in /var/run/screen/S-root.
[root@node1 ~]#
挂载后台:
[root@node1 ~]# screen ping baidu.com
然后:【Ctrl + a + d】
[detached from 20721.pts-0.node1]
[root@node1 ~]#
这时候,再查看【screen】的后台进程:
[root@node1 ~]# screen -ls
There is a screen on:
20721.pts-0.node1 (Detached)
1 Socket in /var/run/screen/S-root.
[root@node1 ~]#
重新回到进程:
[root@node1 ~]# screen -r -d 20721
或者:
[root@node1 ~]# screen -r <session_name>
删除与退出进程:
[root@node1 ~]# screen -ls
There is a screen on:
20721.pts-0.node1 (Detached)
1 Socket in /var/run/screen/S-root.
[root@node1 ~]#
[root@node1 ~]# screen -S 20721 -X quit
[root@node1 ~]#
[root@node1 ~]# screen -ls
No Sockets found in /var/run/screen/S-root.
[root@node1 ~]#
创建一个断开模式的【screen】会话:
[root@node1 ~]# screen -ls
No Sockets found in /var/run/screen/S-root.
[root@node1 ~]#
[root@node1 ~]# screen -dmS session01
[root@node1 ~]#
[root@node1 ~]# screen -ls
There is a screen on:
20891.session01 (Detached)
1 Socket in /var/run/screen/S-root.
[root@node1 ~]#
其他的常用用法:
# screen -S docker-d 新建一个名叫docker-d的session,并马上进入
# screen -dmS docker-d 新建一个名叫docker-d的session,但暂不进入,可用于系统启动脚本里
# screen -ls 列出当前所有session
# screen -r docker-d 恢复到zhouxiao这个session,前提是已经是断开状态(-d可以远程断开会话)
# screen -x docker-d 连接到离线模式的会话(多窗口同步演示)
# screen ./rsync.sh screen创建一个执行脚本的单窗口会话,可以attach进程ID
# screen -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始:
C-a w 显示所有窗口列表
C-a k 这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
C-a d detach,暂时离开当前session