JAVA后台定时作业在linux系统上发布时遇到的问题

来源:互联网 发布:cocos2d-x js 编辑:程序博客网 时间:2024/05/16 19:05

这几天在linux上发布了一个JAVA的定时JOB程序,每天凌晨2点开始跑增量更新搜索引擎索引库,但是每次第二天早上用SSH登陆服务器上去ps -ef |grep StartTimer查找我的定时作业的进程(StartTimer是我的定时程序的主程序入口点的类名),结果进程都不在了,很是纳闷,我写了一个Start.sh脚本用来启动这个JOB的,直接CD到JOB目录,然后 sudo ./Start.sh 开始执行,控制台也显示quantz job启动成功了,可是每次第二天进程都不在了。

后面百度了一下,说是这样启动的方式会随SSH的退出而结束,要实现守护进程,必须使用nohup来启动,即sudo nohup ./Start.sh & ,这样就SSH客户端的退出,JOB程序仍然在运行,可以查看进程树,pstree ,发现这样启动的是单独的进程,而不是ssh的子进程,索引SSH退出不会导致该JOB进程结束。

 

参考 http://www.cnblogs.com/kapok/archive/2005/11/23/283108.html,这里面原理说的比较详细

原创粉丝点击