screen工具

虚拟终端
有时候我们要执行一个命令或脚本,需要几小时甚至几天,但是不能中断,有时想查看当前输出信息的时候;
可以将它丢到后台运行,但是后台运行却无法显示或输出相关信息出来;
我们可以使用一个虚拟终端工具screen来实现,虚拟一个终端直接在上面运行脚本或命令,隐藏到后台运行,但随时可以调出查看当前进度与信息;

安装包


yum install -y screen

新建一个screen终端


screen

在终端运行脚本或命令后

切换回正常模式


ctrl+a+d

查看screen的id

screen -ls
其中1910为id

[root@shu-test ~]# screen -ls
There is a screen on:
    1910.pts-0.shu-test    (Detached)
1 Socket in /var/run/screen/S-root.
[root@shu-test ~]#

返回其中一个screen

screen -r 1910
1910为id号

杀死当前screen终端

exit

新建一个别名screen

screen -S "TEST-SCREEN"

[root@shu-test ~]# screen -S "TEST-SCREEN"
[detached from 2019.TEST-SCREEN]
[root@shu-test ~]# screen -ls
There are screens on:
    2019.TEST-SCREEN    (Detached)
    1969.pts-0.shu-test    (Detached)
    1939.pts-0.shu-test    (Detached)
3 Sockets in /var/run/screen/S-root.
[root@shu-test ~]#

nohup

运行脚本sh时,只在当前终端显示生效,一旦断开终端也就是ssh,那么脚本就会失效;
那么可以使用nohup 掉到后台执行sh脚本,断开终端也能执行;

格式:
nohup sh 目录 &


nohup sh /usr/local/sbin/sleep.sh &