我一直試圖讓我的Java應用程序在啓動後在後臺運行,作爲後臺進程。我已按照頂部答案here中的說明進行操作,但無濟於事。在/etc/init.d啓動的Unix腳本不工作
這是我/etc/init.d/myapp文件:
#!/bin/bash
# MyApp
#
# description: bla bla
case $1 in
start)
/bin/bash /var/lib/myapp/start.sh
;;
stop)
/bin/bash /var/lib/myapp/stop.sh
;;
restart)
/bin/bash /var/lib/myapp/stop.sh
/bin/bash /var/lib/myapp/start.sh
;;
esac
exit 0
作爲/var/lib/myapp/start.sh,它看起來像這樣:
#!/bin/bash
java -jar myapp-1.0.0RC.jar &
並通過ssh從終端運行時工作正常。
我也跑了update-rc.d myscript defaults
命令,只給出一個大概頭警告,LSB
在此之後,一旦重新啓動服務器,應用程序運行未啓用。任何幫助表示讚賞。
謝謝。
是所有腳本(init腳本,start.sh和stop.sh)可執行文件?手動運行'/etc/init.d/myapp start'時會發生什麼? –
@ArewrewStubbs所有的文件都被賦予了777 ...運行myapp start手動給出「無法訪問jarfile ....」這似乎是問題,但是,該jar與start.sh相同的文件夾中 – OsaSoft
@ AndrewStubbs啊,我們走了......我現在看到了,所以即使我運行與jar文件位於同一文件夾中的腳本,主路徑也保持不變。在運行start.sh之前,將/ var/lib/myapp添加到/etc/init.d/myapp文件中並沒有什麼用。謝謝 – OsaSoft