實(shí)際工作中,由于資源問題悠栓,測試環(huán)境可能沒有正式環(huán)境配置高,但基本每套程序都需要測試環(huán)境按价。這就很有可能導(dǎo)致內(nèi)存不足惭适,系統(tǒng)會kill一些java進(jìn)程。這就需要一個(gè)守護(hù)進(jìn)程來自動重啟俘枫。
-
daemon_jar.txt : 需要守護(hù)進(jìn)程的jar文件名前綴腥沽,與sky_demo_fat.sh文件名配套使用。例如:
sky-demo
則對應(yīng)sky_demo*.sh
作為該jar文件的啟動腳本鸠蚪,由sky_demo*.sh
執(zhí)行start_jar.sh -
daemon_java_pid.sh:守護(hù)進(jìn)程邏輯。利用
ps
檢查是否存在進(jìn)程师溅,存在則記錄對應(yīng)進(jìn)程所在目錄路徑appdir
茅信;不存在則進(jìn)入appdir
后執(zhí)行jar文件的啟動腳本(例如sky_demo*.sh
),若appdir
為空墓臭,則可能第一次執(zhí)行亦或其他情況導(dǎo)致沒有記錄蘸鲸。需要手動啟動jar文件。(這里根據(jù)自己需要加通知即可窿锉。我這里沒有這么做) - daemon_start.sh : 讀取daemon_jar.txt文件酌摇,判斷是否存在相應(yīng)守護(hù)腳本,存在則跳過嗡载,否則啟動相應(yīng)守護(hù)腳本窑多。