启动程序脚本,自动检测程序是否启动,程序挂掉,自动重启
while true;do
Transcoder_PID=`ps -ef | grep Transcoder | grep -v grep | wc -l`
if [[ $Transcoder_PID -eq 0 && -d /test/Transcoder ]]; then
cd /test/Transcoder
./Transcoder >/dev/null 2>&1 &
cd -
fi
sleep 5
done
exit 0
原理:通过不断循环检测Transcoder进程数是否为0来判断程序是否启动,为0启动程序
Transcoder_PID=`ps -ef | grep Transcoder | grep -v grep | wc -l`
$Transcoder_PID -eq 0 判断Transcoder进程数是否等于0
-d /test/Transcoder 判断文件夹是否存在
./Transcoder >/dev/null 2>&1 & 程序Transcoder 在后台启动,并且不输出任何信息,
其中>/dev/null 2>&1 是输出重定向,将输出信息重定向空设备文件,1是标准输出 2 是标准错误
& 是表示在后台启动