測試場景說明(操做系統: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