Linux后台运行命令cron和crontab、at和&都是在账户登录时运行,如果你不是管理员,那么有可能要退出账户,但是如果进程在退出时还没能运行完,那么这个Linux后台运行命令就会非常有用。
nohug
如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用n o h u p命令。该命令可以在你退出帐户之后继续运行相应的进程。n o h u p就是不挂起的意思( no hang up)。
该命令的一般形式为:
代码:
nohup command &
使用Linux后台运行命令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命令。
【编辑推荐】