0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍两种方法来避免正在执行中的任务中断

阿铭linux 2018-02-09 08:56 次阅读

有时我们也许会有这样的需求:要执行一个命令或者脚本,但是需要几个小时甚至几天。这就要考虑一个问题,就是中途断网或出现其他意外情况,执行的任务中断了怎么办?你可以把命令或者脚本丢到后台运行,不过也不保险。下面就介绍两种方法来避免这样的问题发生。

1. 使用nohup

[root@localhost ~]# cat /usr/local/sbin/sleep.sh

#! /bin/bash

sleep 1000

[root@localhost ~]# nohup sh /usr/local/sbin/sleep.sh &

[1] 19997

[root@localhost ~]# nohup: 忽略输入并把输出追加到"nohup.out"

直接加一个 ‘&’ 虽然丢到后台了,但是当退出该终端时很有可能这个脚本也会退出的,而在前面加上 nohup 就没有问题了,nohup的作用就是不挂断地运行命令。

2. screen工具的使用

简单来说,screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的SSH连接窗口那样。下面阿铭介绍screen的一个简单应用。

1)打开一个会话,直接输入screen命令然后回车,进入screen会话窗口。如果你没有screen命令,请用yuminstall-yscreen安装。

[root@localhost ~]# screen

[root@localhost ~]#

2)screen -ls 查看已经打开的screen会话

[root@localhost ~]# screen -ls

There is a screen on:

20001.pts-0.localhost (Attached)

1 Socket in /var/run/screen/S-root.

3)Ctrl +a 再按d退出该screen会话,只是退出,并没有结束。结束的话输入Ctrl +d 或者输入exit

4)退出后还想再次登录某个screen会话,使用sreen -r [screen 编号],这个编号就是上例中那个20001。当只有一个screen会话时,后面的编号是可以省略的。当你有某个需要长时间运行的命令或者脚本时就打开一个screen会话,然后运行该任务。按ctrl +a 再按d退出会话,不影响终端窗口上的任何操作。

介绍两种方法来避免正在执行中的任务中断

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206735
  • Screen
    +关注

    关注

    0

    文章

    11

    浏览量

    6681

原文标题:screen工具使用

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PCB设计软件操作之两种建立Match Group的方法

    两种方法已经介绍结束对于要立志成为PCB设计大神的功诚师们allegro软件操作是工程师们的必经之路过程有些许漫长不过没关系板儿妹会一路陪着你`
    发表于 12-30 11:13

    PCB设计软件操作之两种建立Match Group的方法

    1-6更新规则图1-7赋予规则给需要的网络赋予该规则,在工作薄顶端就是Match Group组。图1-8完整的DDR数据组Match Group具体的两种方法已经介绍结束对于要立志成为PCB设计大神的功诚师们allegro软件操作是工程师们的必经之路过程有些许漫长不过没关
    发表于 12-30 11:20

    两种方法解决电路设计问题

    将200V的电压施加到500欧姆的抽头电阻器。找到连接到25V时需要0.1A电路的个分接点之间的电阻。我用两种方法解决了这个问题。但正确的答案只能通过一种方法来实现。总电阻为Ra + Rb
    发表于 09-14 13:54

    讨论Linux系统设置开机自动运行的两种方法

    有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到重启或者系统启动时执行命令和脚本。 两种方法
    发表于 07-09 06:38

    有没有一种方法来配置MPLAX X从RAM运行应用程序?

    有没有一种方法来配置MPLAX X从RAM运行应用程序,而不是从Flash运行?
    发表于 09-12 06:33

    UCOSII如何运用延时控制步进电机的步数?

    大家好!最近在将407的程序移植到UCOSII系统,在我的程序需要控制步进电机正反转走固定的距离,裸机的时候我是运用进中断方法来实现的,但是这
    发表于 06-03 05:41

    如何用软件的方法来实现单片机的重启?

    单片机重启可以通过哪几种方法来实现?如何用软件的方法来实现单片机的重启?
    发表于 07-14 06:15

    STM32操作矩阵键盘的两种方法

    目录STM32操作矩阵键盘的两种方法——扫描和中断一、矩阵键盘的结构和原理二、扫描式矩阵键盘的原理和实现三、中断式矩阵键盘的原理和实现四、两种方案优劣STM32操作矩阵键盘的
    发表于 08-12 06:33

    浅析addContext()与addWebapp()这两种方法

    addContext()与addWebapp()这两种方法都是向嵌入式tomcat添加web应用程序。addContext()需要配置相关所有内容,比如配置默认的Servlet,否则将无法访问静态
    发表于 12-16 07:02

    任务间通信的目的是什么

    嵌入式操作系统任务之间的交互与Linux同一进程的不同线程之间的交互完全类似,可以通过全局变量和任务间通信机制两种方法来实现。这种交互包括任务
    发表于 12-24 08:16

    利用进程上下文执行中断处理耗时的任务

    Workqueue 工作队列是利用内核线程异步执行工作任务的通用机制,利用进程上下文执行中断处理
    发表于 01-10 06:14

    1.3 两种运行 Python 程序方法

    界面上执行 Python 语句使用命令行执行 .py 后缀的脚本文件下面分别对这两种方法进行演示。1. 第一种方法首先打开你的终端,直接输入 python3 回车,然后输入 prin
    发表于 02-16 18:31

    介绍两种交互方法来完成Sequencer和Driver的握手机制

    Sequencer提供了很多API供我们使用,但在实际使用,我们依然推荐使用本文将介绍两种交互方法来完成Sequencer和Driver的握手机制,有时候也称为使用模型。第一种使用
    发表于 09-23 14:39

    介绍RT-Thread编译过程替换函数名的两种方法

    编译过程替换函数名的两种方法 (第二种很好使)方法一函数名为__wrap_symbol,且称其为包装函数,“symbol”是一个函数名,大致执行过程是这样的:当调用“symbol”函
    发表于 03-15 14:41

    STM32操作矩阵键盘的两种方法——扫描和中断

    目录STM32操作矩阵键盘的两种方法——扫描和中断一、矩阵键盘的结构和原理二、扫描式矩阵键盘的原理和实现三、中断式矩阵键盘的原理和实现四、两种方案优劣STM32操作矩阵键盘的
    发表于 11-26 13:36 33次下载
    STM32操作矩阵键盘的<b class='flag-5'>两种方法</b>——扫描和<b class='flag-5'>中断</b>