帮助中心 >  技术知识库 >  云服务器 >  服务器教程 >  Linux 将任务放到后台虚拟终端执行screen命令使用说明

Linux 将任务放到后台虚拟终端执行screen命令使用说明

2016-10-31 08:25:35 6927

我们会经常遇到一些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)
<span style="color: #000000;">MySQL [screen_test]&gt; 
</span>

可见这个导入已经恢复完成,我们完全不需要担心中间ssh的这个终端断掉或者是其他方式碰到,后台就给你无人值守执行了。


3,退出一个screen的方法,这里简单总结两个。

方法1:screen -S abc  -X quit (abc为当时起的名字)

方法2:screen -r abc  重新激活新的screen,执行exit退出。


更为详细操作,请参考资料:

Linux虚拟终端命令Screen用法详解,地址太长,请点击:Screen用法详解

Linux下Screen的常用命令:http://www.landui.com/Linux/2012-07/65358.htm

Screen会话命令:http://www.landui.com/ywl925/p/3604530.html







提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: