Linux 将任务放到后台虚拟终端执行screen命令使用说明
云海天教程原创,转载请注明出处。
我们会经常遇到一些linux系统基础操作比较耗时的任务,比如编译一个大型环境,删除或移动一些文件,又或者是mysql导入一个大型文件比较耗时,如果一个终端执行比较久因为断电退出、超时退出或者误操作,都会导致这些命令终止。又或者我们还需要做一些其他事情,总不能一直等这个操作完成,那么screen就可以完美解决现在的问题了。
简单用法记录如下:
1,新建一个screen。
从linux的ssh终端上直接执行 screen -S abc (abc为给这个终端起的名字,以后可以用到,方便多个screen执行不知道每个是干啥的)
比如我们建立screen -S tongji
这个终端是一个mysql恢复,是一个sql命令导入,过程可能需要一个小时左右。
建立完以后我们就可以关掉这个页面去干其他事情去了。后边只需要进去查看这个操作是否完成就行。
2,查看screen
对于已经建立的screen,我们需要进去查看的时候,需要执行如下操作。
查看screen:
[email protected]:/# 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 都可以。
[email protected]:/# 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) <span style="color: #000000;">MySQL [screen_test]> </span>
可见这个导入已经恢复完成,我们完全不需要担心中间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