龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

保持进程在Shell退出后能继续运行方法

时间:2011-03-20 22:37来源:未知 作者:admin 点击:
分享到:
当在shell中运行一些监视工具或磁盘检查等任务时,往往需要很长时间,此时如果用户logout,这些程序都会收到SIGHUP信号从而终止,显然这样是不行的。 程序nohup和bash内建命令disown可以

  当在shell中运行一些监视工具或磁盘检查等任务时,往往需要很长时间,此时如果用户logout,这些程序都会收到SIGHUP信号从而终止,显然这样是不行的。

 

  程序nohup和bash内建命令disown可以解决此问题。

 

  1.nohup

 

  nohup [command]

 

  运行该指令之后,command在执行时将会忽略SIGHUP信号。

 

  如果command中对标准输出没有重定向,nohup会将标准输出和标准错误输出到nohup.out文件,该文件存在当前目录下或home目录下。

 

  此时用户logout,command仍然会继续运行

 

  2.disown

 

  disown -h jobnumber

 

  jobnumber由jobs获得。

 

  该指令使得后台命令忽略SIGHUP信号。

 

  disown -ar

 

  所有后台命令都忽略SIGHUP信号。

 

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接