- 直接循环查看
#!/bin/sh
#添加本地执行路径
source /etc/profile
while true; do
nowtime=`date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"`
#启动一个循环,定时检查进程是否存在
server=`ps aux | grep wechat.php | grep -v grep`
if [ ! "$server" ]; then
echo "$nowtime SwooleWechat.php is stop ..."
#如果不存在就重新启动
nohup php wechat.php >log_wechat.log 2>&1 &
#启动后沉睡10s
echo "ok..."
#每次循环沉睡10s
sleep 5
done
用读取文件的方式来循环判断,原因是我需要中断脚本中包含的多个进程,但直接中断脚本过粗暴,所以这里换个思路