测试场景说明(操做系统:centos7):java
有一个bash脚本,脚本内容是执行某个java程序,该脚本为 /data/project1/start.shcentos
crontab -e,添加了如下任务:bash
0 1 * * * /data/project1/start.sh
该配置设定了天天1点执行 /data/project1/start.sh,start.sh里最终是相似这样执行java程序:测试
/usr/java/jdk1.8.0_71/bin/java -classpath "/data/project1/lib/xxx.jar:/data/project1/lib/xxx.jar:.." MainClasscentos7
可是一直没有成功执行java程序。spa
通过大量查阅论坛帖子和反复尝试终于找到了解决方法。须要把crontab配置为以下:操作系统
0 1 * * * (cd /data/project1; nohup sh ./start.sh &)
注意:start.sh里用到的全部路径,诸如java,jar,目录等,都须要使用绝对路径code