Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10710551
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:09:47

上周数据库写了一个数据库统计日志数据库的脚本,数据库根据日志的统计入库,没太在意ssh退出时 脚本就自己停了 找了一个解决办法:(转贴)
当在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信号
阅读(1777) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~