Ubuntu下Qt程序自启
脚本:startByself.sh
#!/bin/bash
sleep 5 #启动前的睡眠时间
CURRENT_DIR=$(cd $(dirname $0); pwd) #获取脚本所在目录
cd $CURRENT_DIR
procName="DetectionSystem" #你的要崩溃自启的程序名
proc_num()
{
#通过名称查询系统的线程
num=`ps -ef | grep -w $procName | grep -v grep | wc -l`
return $num
}
while true
do
proc_num #运行proc_num函数 输出
number=$? #从输出端获取数据
if [ $number -eq 0 ] #若线程数为0,即崩溃。
then
cd $CURRENT_DIR #重启
setsid ./$procName.sh &
echo "process has been restarted!"
else
echo "process already started!"
fi
sleep 5 #睡眠时间
done