作者:じ☆ve宝贝
发布时间:2017-07-12T10:48:39
我们会经常遇到一些linux系统基础操作比较耗时的任务,比如编译一个大型环境,删除或移动一些文件,又或者是mysql导入一个大型文件比较耗时,如果一个终端执行比较久因为断电退出、超时退出或者误操作,都会导致这些命令终止。又或者我们还需要做一些其他事情,总不能一直等这个操作完成,那么screen就可以完美解决现在的问题了。 简单用法记录如下: 1,新建一个screen。 从linux的ssh终端上直接执行 screen -S abc (abc为给这个终端起的名字,以后可以用到,方便多个screen执行不知道每个是干啥的) 比如我们建立screen -S tongji 这个终端是一个mysql恢复,是一个sql命令导入,过程可能需要一个小时左右。 建立完以后我们就可以关掉这个页面去干其他事情去了。后边只需要进去查看这个操作是否完成就行。 2,查看screen 对于已经建立的screen,我们需要进去查看的时候,需要执行如下操作。 查看screen:
root@iZ23gjmzn3tZ:/# screen -ls
There are screens on:
10867.mysqldump (08/05/2016 05:09:31 PM) (Detached)
8074.tongji (08/05/2016 09:35:01 AM) (Attached)
2 Sockets in /var/run/screen/S-root.
进入screen -r tongji 或者screen -r 8074 都可以。
root@iZ23gjmzn3tZ:/# screen -r tongji
进入终端显示如下:
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
MySQL [screen_test]
可见这个导入已经恢复完成,我们完全不需要担心中间ssh的这个终端断掉或者是其他方式碰到,后台就给你无人值守执行了。
3,退出一个screen的方法,这里简单总结两个。 方法1:screen -S abc -X quit (abc为当时起的名字) 方法2:screen -r abc 重新激活新的screen,执行exit退出。
更为详细操作,请参考资料: Linux虚拟终端命令Screen用法详解,地址太长,请点击:Screen用法详解 Linux下Screen的常用命令:http://www.linuxidc.com/Linux/2012-07/65358.htm Screen会话命令:http://www.cnblogs.com/ywl925/p/3604530.html