编写.sh脚本,内容如下:
#!/bin/sh
### BEGIN INIT INFO
# Provides: HMI.sh
# Required-start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the HMI.sh daemon
# Description: starts HMI.sh using start-stop-daemon
### END INIT INFO
#set -e
sleep 1 #启动前的睡眠时间
proc_name="demo" #你的要崩溃自启的程序名词
proc_num()
{
#通过名称查询系统的线程
num=`ps -ef | grep "demo" | grep -v grep | wc -l`
return $num
}
while true
do
proc_num #运行proc_num函数 输出
number=$? #从输出端获取数据
if [ $number -eq 0 ] #若线程数为0,即崩溃。
then
# cd 切换到工作目录下,运行.py文件
setsid python demo.py &
echo "process has been restarted!"
else
echo "process already started!"
fi
sleep 1 #睡眠时间
done