一 :背景
项目运维时,项目需要时刻运行,怎么避免项目中断,保证运行呢?这里就使用到了守护进程。
二 :创建启动脚本
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