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