Linux 将任务放到后台虚拟终端执行screen命令使用说明 – 21运维
通知: .-...

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

linux 21运维 5251浏览 0评论

21运维原创,转载请注明出处。

我们会经常遇到一些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]&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.linuxidc.com/Linux/2012-07/65358.htm
Screen会话命令:http://www.cnblogs.com/ywl925/p/3604530.html

转载请注明:21运维 » Linux 将任务放到后台虚拟终端执行screen命令使用说明

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 这个工具测试确实可以无人值守,果然牛逼! 感谢站长分享
    我将随风而行2016-08-06 19:45 回复