mirror of https://github.com/midoks/mdserver-web
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.2 KiB
35 lines
1.2 KiB
#!/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
|
|
|
|
|