Shell后台执行指令nohup

【shell】后台执行命令-004(nohup命令)

      如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户之后继续运行相应的进程。Nohup就是不挂起的意思( no hang up)

      该命令的一般形式为:

       nohup command &

1、使用nohup命令提交作业

      如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

         nohup command > myout.file 2>&1

      在上面的例子中,输出被重定向到myout.file文件中。

      让我们来看一个例子,验证一下在退出帐户后相应的作业是否能够继续运行。 我们先提交一个名为ps1的日志清除进程:

       $ nohup ps1 &

       [1] 179

       $ nohup: appending output to 'nohup.out'

      现在退出该s h e l l,再重新登录,然后执行下面的命令:

        $ ps x|grep ps1

       179 ?   S N 0:01 sh /root/ps1

       506 p2 s      0:00 grep ps1

       我们看到,该脚本还在运行。如果系统不支持ps x命令,使用ps -ef|grep ps1命令。

2、一次提交几个作业

     如果希望一次提交几个命令,最好能够把它们写入到一个shell脚本文件中,并用nohup命令来执行它。例如,下面的所有命令都用管道符号连接在一起;我们可以把这些命令存入一个文件,并使该文件可执行。

          cat /home/accounts/qtr_0499 | /apps/bin/trials.awk|sort|Ip      

          $ cat >quarterend

          cat /home/accounts/qtr_0499 | /apps/bin/trials.awk |sort|Ip

           <CTRL-D>           

      现在让它可执行:

       $ chmod 744 quarterend

     我们还将该脚本的所有输出都重定向到一个名为qtr.out的文件中。

       $ nohup ./quarterend >qtr.out 2>&1 &

        [5] 182


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值