实际工作中,由于资源问题,测试环境可能没有正式环境配置高,但基本每套程序都需要测试环境。这就很有可能导致内存不足,系统会kill一些java进程。这就需要一个守护进程来自动重启。
-
daemon_jar.txt : 需要守护进程的jar文件名前缀,与sky_demo_fat.sh文件名配套使用。例如:
sky-demo
则对应sky_demo*.sh
作为该jar文件的启动脚本,由sky_demo*.sh
执行start_jar.sh -
daemon_java_pid.sh:守护进程逻辑。利用
ps
检查是否存在进程,存在则记录对应进程所在目录路径appdir
;不存在则进入appdir
后执行jar文件的启动脚本(例如sky_demo*.sh
),若appdir
为空,则可能第一次执行亦或其他情况导致没有记录。需要手动启动jar文件。(这里根据自己需要加通知即可。我这里没有这么做) - daemon_start.sh : 读取daemon_jar.txt文件,判断是否存在相应守护脚本,存在则跳过,否则启动相应守护脚本。