一 :背景
項目運維時,項目需要時刻運行,怎麼避免項目中斷,保證運行呢?這裏就使用到了守護進程。
二 :創建啓動腳本
touch start.sh -- 創建腳本
vi start.sh -- 編輯腳本
nohup java -jar citybrain-wisdom-data-kafka-1.0.1.jar >nohup.log 2>&1 & -- 腳本內容
sudo chmod 777 start.sh -- 允許任何用戶操作該腳本
三 : 創建守護進程
touch kafka-protected.sh
vi kafka-protected.sh
#!/bin/sh
while(true)
do
pid=`ps -ef|grep citybrain-wisdom-data-kafka-1.0.1.jar|grep -v "grep" | awk '{print $2}'`
echo $pid
if [ "${pid}" = "" ]
then
./start.sh
fi
sleep 10
done
sudo chmod 777 kafka-protected.sh
./kafka-protected.sh start 執行下改腳本即可。
四 :使用 Linux 自帶的定時任務
crontab -e
*/5 * * * * /root/screen/start.sh
crontab -l
*/5 * * * * /root/screen/start.sh
重啓定時任務
service crond restart