先说明下脚本的用处,此脚本可用于检测进程是否在运行,并在发现进程消失/没有运行时重启进程。
脚本内容
#!/bin/sh
while :
do
stillRunning=$(ps -ef|grep "/home/user/frp/frpc"|grep -v "grep")
if [ "$stillRunning" ]
then
sleep 10
else
/home/user/frpc -c /home/user/frp/frpc.ini &
fi
sleep 10
done
解释
stillRunning=$(ps -ef|grep "/home/user/frp/frpc"|grep -v "grep")
上面这行用来检测要监视的进程"/home/user/frp/frpc"是否正在运行。一定要有grep -v "grep",否则可能会影响到检查结果。如果没有搜索到对应的进程名的话会返回空置,使得if条件不成立,执行else后语句;否则if条件成立,执行then后的语句。
else后面的语句就是启动进程的命令,可以替换成需要的命令。sleep 10就是让监视进程暂停10秒,然后继续运行。
版权声明:本文为Geek_of_CSDN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。