当前位置:论坛首页 > Linux面板 > 求助

求SHELL方法

发表在 Linux面板2019-11-10 19:42 [复制链接] 4 869

网站里的/service-cgi.php文件需要实时运行着,谁可以写一个shell方法监控这个文件是否有运行,如果没有运行,需要启动这个文件,可以付费求助。
使用道具 举报 只看该作者 回复
发表于 2019-11-11 09:11:59 | 显示全部楼层

v=`ps aux |grep service-cgi.php | grep -v grep`

if [ "$v" == '' ];then
        php绝对路径/php 文件绝对路径/service-cgi.php
fi

可参考上述shell
使用道具 举报 回复 支持 反对
发表于 2019-11-11 10:08:27 | 显示全部楼层
谢谢你的回复,如果一个服务器有多个service-cgi.php文件,只是在不同的目录呢?
使用道具 举报 回复 支持 反对
发表于 2019-11-11 11:03:46 | 显示全部楼层
huiteng008 发表于 2019-11-11 10:08
谢谢你的回复,如果一个服务器有多个service-cgi.php文件,只是在不同的目录呢? ...

可以写个循环来处理。
使用道具 举报 回复 支持 反对
发表于 2019-11-19 20:11:55 | 显示全部楼层
#! /bin/bash
while [ true ]
        do
                pro=`ps -ef | grep ""sendEmailRedis | grep -v 'grep' | wc -l`
                #过滤出目标进程信息,如果pro为空串说明目标进程未运行
                #反向过滤掉grep进程 和 本进程信息, 因为这两个进程信息中包含目标进程的名字
                if [ "$pro" -eq 0 ]
                then
                        echo "程序未启动,重新启动程序"
                        /www/server/php/56/bin/php  /www/wwwroot/www.lovelywolf.com/public/index.php sendEmailRedis & #重新启动指定程序
                else
                        echo "程序正在运行..."
                fi
        sleep 5
done
谁能帮我解释注解下,谢谢,对有词句不是很懂。
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表