nohub、screen管理长时间运行任务。

       长时间连接到远程Linux服务器进行一些耗时比较长的工作(比如传输大文件,系统备份等)时,这些工作耗时过长且中途不可关闭shell窗口或者断开连接,否则任务会被kill。

       关掉窗口/断开连接会使得正在运行的程序死掉,是由于signup挂断信号,如果能够忽略signup信号,那么当我们执行耗时较长的任务时,便可以忽略它让它自己在后台运行。

       想要忽略signup信号,可以使用nohub和screen两种方法。

       1.nohub

        nohup命令可以达到这个目的,如果程序的标准输出/标准错误是终端,nohup默认将其重定向到nohup.out文件。值得注意的是nohup命令只是使得程序忽略SIGHUP信号,还需要使用标记&把它放在后台运行。

       nohup Command [ Arg … ] [ & ]

       注意:在当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而不能每次在nohup执行成功后直接点关闭程序按钮关闭终端.。这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。

        2.screen

       screen可以简单理解为虚拟终端。我们可以在这个虚拟终端中做各种普通终端中可以做的事情,并且关掉终端或者断开连接时任务不会被挂断。

       创建screen的命令直接敲:

       screen(如果出现-bash: screen: command not found,请先尝试安装screen)

       关闭screen使用exit命令。如果使用screen -d命令。则不关闭screen回到shell界面。

       在screen界面中再次敲screen,则再次打开一个screen界面,此时使用exit命令则会进入上一个screen界面。

       常用命令:

       screen  创建一个screen(可以用screen -S ID,打开一个指定的ID session)

       screen -ls 显示所有的screen会话

       

 

       screen可用作远程演示,A在某服务器上开启screen,B连接该服务器后,使用与A同一用户,键入screen -x命令,此时B能够实时看到A在screen中做的操作。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值