shell实现嵌入式软件看门狗
长时间运行的嵌入式程序,有时会因为莫名其妙的原因挂掉,这时就需要有其他的程序来一直监控我们的程序。由于监控程序属于软件层面,因此这种程序被称为“软件看门狗”。
这里用一个shell脚本实现该功能,这个脚本会一直监控后台的名为“XXX”的程序,如果程序挂掉,就会重启设备。设备启动时,会自动开启程序和这个脚本。代码如下:
#!/bin/sh
while :
do
stillRunning=$(ps |grep "XXX" |grep -v "grep")
if [ "$stillRunning" ] ; then
echo "test service was already started by another way"
else
echo "Starting service ..."
reboot
fi
sleep 5
done