linux开发板守护进程_脚本 hold.sh ,farmgate是要守护的进程名,保证有一个且只允许一个实例运行。10秒查一次。killall -9 hold.sh

linux开发板守护进程_脚本 hold.sh ,farmgate是要守护的进程名,保证有一个且只允许一个实例运行。10秒查一次。

#!/bin/sh
#进程名字可修改 
PRO_NAME=farmgate
while true
do
  #用ps获取进程数量  
	NUM=`ps |grep -w ${PRO_NAME} |grep -v "grep" |wc -l`
  echo $NUM  ${PRO_NAME}
	if [ $NUM == 1 ]
	then
	   echo "OK"
	else
	   echo "ERROR ,RESET"
	   killall -9 "${PRO_NAME}"
	   ./${PRO_NAME} &
	fi
	sleep 10s
done 
exit 0  

开机启动脚本

#!/bin/sh

#echo "add..."

echo "mystart"
ifdown eth0
echo "sleep 2"
sleep 2
echo "sleep end"
ifup eth0
echo "restart network finish.---- /etc/rc5.d/S99sztenv"

echo "run farmgate"
cd /home/root/
chmod +x farmgate

./farmgate &

cd /home/root/
chmod 777 -R hold.sh
sh hold.sh

自动升级脚本

echo "update.sh is going on"
killall -9 hold.sh
killall -9 farmgate
rm -rf farmhouse.db
sleep 5
mkdir -p /home/root/upgrade/
cp -r -f /home/root/update.zip /home/root/upgrade/

unzip -o /home/root/upgrade/update.zip -d /home/root/upgrade/
sleep 5

cp /home/root/upgrade/farmgate /home/root/
chmod +x /home/root/farmgate

cp /home/root/upgrade/config.ini /home/root/
cp /home/root/upgrade/farmhouse.db /home/root/
cp /home/root/upgrade/S99sztenv /etc/rc5.d/
chmod  777 /etc/rc5.d/S99sztenv

cp /home/root/upgrade/update.sh /home/root/
cp /home/root/upgrade/hold.sh /home/root/

reboot

自动发布脚本


rm -rf s99log.txt

chmod  777 -R /home/root

cp -f /home/root/S99sztenv /etc/rc5.d/
chmod  777 /etc/rc5.d/S99sztenv

cp -f /home/root/curllib/libcurl.a /lib

cp -f /home/root/curllib/libcurl.la /lib

cp -f /home/root/curllib/libcurl.so /lib

cp -f /home/root/curllib/libcurl.so.4 /lib

cp -f /home/root/curllib/libcurl.so.4.6.0 /lib

killall -9 hold.sh
killall -9 farmgate


rm -rf farmhouse.db

echo "run /home/root/farmgate"
chmod +x /home/root/farmgate
cd /home/root
./farmgate
发布了331 篇原创文章 · 获赞 140 · 访问量 71万+

猜你喜欢

转载自blog.csdn.net/chenhao0568/article/details/103956260