专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell基础篇>

后台执行的nohug命令

百度收藏 QQ搜藏

   如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用n o h u p命令。该命令可以在你退出帐户之后继续运行相应的进程。N o h u p就是不挂起的意思( no hang up)。
该命令的一般形式为:
   nohup command &
使用nohup命令提交作业
    如果使用n o h u p命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为n o h u p . o u t的文件中,除非另外指定了输出文件:
    nohup command > myout.file 2>&1
    在上面的例子中,输出被重定向到m y o u t . f i l e文件中。
    让我们来看一个例子,验证一下在退出帐户后相应的作业是否能够继续运行。我们先提交一个名为p s 1的日志

清除进程:
   $nobup ps1
    现在退出该s h e l l,再重新登录,然后执行下面的命令:
    $ps x |grep ps1
    我们看到,该脚本还在运行。如果系统不支持ps x命令,使用ps -ef|grep ps1命令。
一次提交几个作业
    如果希望一次提交几个命令,最好能够把它们写入到一个s h e l l脚本文件中,并用n o h u p命令来执行它。
例如,下面的所有命令都用管道符号连接在一起;我们可以把这些命令存入一个文件,并使该文件可执行。
   cat /home/accounts/qrt_0499 | /apps/bin/trials.awk | sort | lp
   $cat > quarterend
   cat /home/accounts/qtr_0499 | /apps/bin/trials.awk | sort | lp
   <ctrl-D>
   现在让它可执行:
$ chmod 744 quarterend
   我们还将该脚本的所有输出都重定向到一个名为q t r. o u t的文件中。
   $ nobup ./quarterend > qtr.out 2>&1 &
   [5] 182
后台运行作业的:
    有时我们必须要对大文件进行大量更改,或执行一些复杂的查找,这些工作最好能够在系统负荷较低时执行。创建一个定时清理日志文件或完成其他特殊工作的脚本,这样只要提交一次,就可以每天晚上运行,而且无需你干预,只要看看相应的脚本日志就可以了。C r o n和其他工具可以使系统管理任务变得更轻松。

上一篇:在后台执行的&命令 下一篇:学习元字符及其应用

power by soyo123 2007-2008