Linux screen命令及其应用场景说明

应用场景1:会话恢复,系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。会话恢复,只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。

应用场景2:会话共享,Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

yum install screen

screen -S [SESSION]  创建新screen会话

screen -x [SESSION]  加入screen会话

exit          退出并关闭screen会话

ctal+a,d       剥离当前会话

screen -ls       显示所有已经打开的screen会话

screen -r [SESSION]  恢复某screen会话

后台进程: screen:在开启一个子bash窗口,关闭父bash并不影响子bash

1.安装
[root@oldboy ~]# yum install screen -y

2.开启一个screen窗口,指定名称
[root@oldboy ~]# screen -S wget_mysql

3.在screen窗口中执行任务即可

[root@oldboy ~]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar

4.平滑的退出screen,但不会终止screen中的任务 注意: 如果使用exit 才算真的关闭screen窗口
ctrl+a+d

5.查看当前正在运行的screen有哪些
[root@oldboy ~]# screen -ls
There is a screen on:
22058.wget_mysql (Detached)
1 Socket in /var/run/screen/S-root.

6.进入正在运行的screen
[root@oldboy ~]# screen -r wget_mysql
[root@oldboy ~]# screen -r 22058

 

原文地址:https://www.cnblogs.com/hkping18/p/15594781.html