
方法1:设置重启restart.sh脚本,crontab 设置定时任务,定时重启。
restart.sh
#!/bin/sh
export JAVA_HOME=/opt/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
cd /opt/apps/fire/
ps -ef | grep pictureTiming | awk '{print $2}'|xargs kill -9
ps -ef | grep kilnheadRecognition | awk '{print $2}'|xargs kill -9
ps -ef | grep beltLossCoal | awk '{print $2}'|xargs kill -9
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming cooler_light > pictureTiming_cooler_light.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming fire_strength > pictureTiming_fire_strength.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming belt_loss_coal > pictureTiming_belt_loss_coal.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.kilnheadRecognition fire_strength > kilnheadRecognition_fire_strength.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.kilnheadRecognition cooler_light > kilnheadRecognition_cooler_light.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.beltLossCoal belt_loss_coal > beltLossCoal.log 2>&1 &
crontab -e
30分钟重启一次
*/30 * * * * /usr/bin/sh /opt/apps/fire/restart.sh
方法2:shell 命令检测进程是否存在,若不存在则重启。crontab 设置定时任务,定时重启。
restart.sh
#!/bin/bash
export JAVA_HOME=/opt/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
cd /opt/apps/fire/
#判断进程是否存在,如果不存在就启动它
PIDS=`ps -ef |grep pictureTiming |grep -v grep | awk '{print $2}'`
if [ "$PIDS" != "" ]; then
echo "myprocess is runing!"
else
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming cooler_light > pictureTiming_cooler_light.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming fire_strength > pictureTiming_fire_strength.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming belt_loss_coal > pictureTiming_belt_loss_coal.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.kilnheadRecognition fire_strength > kilnheadRecognition_fire_strength.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.kilnheadRecognition cooler_light > kilnheadRecognition_cooler_light.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.beltLossCoal belt_loss_coal > beltLossCoal.log 2>&1 &
fi
crontab -e
1分钟判断执行一次
*/1 * * * * /usr/bin/sh /opt/apps/fire/restart.sh
方法2 restart.sh 的写法也可以换一种。
#! /bin/bash
export JAVA_HOME=/opt/jdk1.8.0_201
export PATH=$JAVA_HOME/bin:$PATH
cd /opt/apps/fire/
cmd1=`jps |grep pictureTiming`
cmd2=`jps |grep kilnheadRecognition`
cmd3=`jps |grep beltLossCoal`
if [ -z "$cmd1" ];then
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming cooler_light > pictureTiming_cooler_light.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming fire_strength > pictureTiming_fire_strength.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.pictureTiming belt_loss_coal > pictureTiming_belt_loss_coal.log 2>&1 &
fi
if [ -z "$cmd2" ];then
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.kilnheadRecognition fire_strength > kilnheadRecognition_fire_strength.log 2>&1 &
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.kilnheadRecognition cooler_light > kilnheadRecognition_cooler_light.log 2>&1 &
fi
if [ -z "$cmd3" ];then
nohup java -cp byt_arithmetic_project-0.0.1-SNAPSHOT.jar com.byt.kknf.flink.domain.picture.beltLossCoal belt_loss_coal > beltLossCoal.log 2>&1 &
fi
注意:务必设置环境变量,以及指定进入目录方可成功。