作者:rseu_813 | 来源:互联网 | 2023-09-08 11:40
监视系统上的进程是否正在运行的程序。
脚本存储在其中,crontab
并且每分钟运行一次。
这适用于不运行多个进程的进程:
#! /bin/bash
case "$(pidof amadeus.x86 | wc -w)" in
0) echo "Restarting Amadeus: $(date)" >> /var/log/amadeus.txt
/etc/amadeus/amadeus.x86 &
;;
1) # all ok
;;
*) echo "Removed double Amadeus: $(date)" >> /var/log/amadeus.txt
kill $(pidof amadeus.x86 | awk '{print $1}')
;;
esac
0
如果找不到进程,请重新启动它。1
如果找到过程,一切正常。*
如果进程运行2个或更多,请杀死最后一个。
一个简单的版本。这只是测试进程是否正在运行,如果没有,则重新启动它。
它只是测试出口标志$?
从pidof
程序。它将0
是正在运行的进程,1
如果没有运行。
#!/bin/bash
pidof amadeus.x86 >/dev/null
if [[ $? -ne 0 ]] ; then
echo "Restarting Amadeus: $(date)" >> /var/log/amadeus.txt
/etc/amadeus/amadeus.x86 &
fi
最后是一个班轮
pidof amadeus.x86 >/dev/null ; [[ $? -ne 0 ]] && echo "Restarting Amadeus: $(date)" >> /var/log/amadeus.txt && /etc/amadeus/amadeus.x86 &
cccam oscam