#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin:/opt/homebrew/bin export PATH # OpenResty服务名称 service_name="caddy" # 检查OpenResty是否正在运行 if systemctl is-active --quiet "$service_name"; then # 检查是否存在僵尸进程 zombie_processes=$(ps -ef | grep -i caddy | grep -v grep | awk '{print $2}' | xargs ps -o state= -p 2>/dev/null | grep -c Z) if [ "$zombie_processes" -gt 0 ]; then echo "kill caddy 僵尸进程" ps -ef|grep caddy| grep -v grep| awk '{print $2}' | xargs kill -9 echo "检测到OpenResty僵尸进程,正在重启服务..." systemctl restart "$service_name" echo "服务已重启" else echo "OpenResty运行正常" fi else echo "kill caddy" ps -ef|grep caddy| grep -v grep| awk '{print $2}' | xargs kill -9 echo "caddy未运行,正在启动服务..." systemctl start "$service_name" echo "服务已启动" fi NGINX_IDS=`ps -ef|grep caddy | grep -v grep| awk '{print $2}'` if [ "$NGINX_IDS" == "" ];then ps -ef|grep caddy| grep -v grep| awk '{print $2}' | xargs kill -9 systemctl start "$service_name" echo "caddy未运行,正在启动服务..." fi