1,新建shell腳本爲服務保活
#!/bin/sh
while(true) do
proc_num=$(ps -ef | grep XXXXXXXXX-0.0.1-SNAPSHOT.jar | grep -v "grep ")
if [ $proc_num -eq 0 ]
then
echo "start third-party-video-server...."
nohup /opt/jre/bin/java -jar /opt/XXXXX/XXXXXXX-0.0.1-SNAPSHOT.jar --comName=COM2
fi
sleep 3
done
腳本死循環查看自己jar包運行情況。
通過 ps -ef | grep XXXXXXXXX-0.0.1-SNAPSHOT.jar | grep -v "grep " 查看 XXXXXXXXX-0.0.1-SNAPSHOT.jar的運行數量。
如果等於0說明沒有執行的。則啓動。
否則3秒後再檢測。
2,讓腳本開機啓動。
如果腳本不是死循環檢測的,可以是用 corntable 來用定時任務執行,不過缺點是最小1分鐘執行一次,時間過久。
這裏可以將自己的shell腳本加入 rc.local 中
注意:
一定要將命令添加在 exit 0之前;
命令即爲腳本文件所在的絕對路徑,如在第13行添加 /usr/local/bin/test.sh;
如果腳本中有死循環,需要在該腳本路徑後加上 & ,讓其後臺執行;