编程 liunx服务器监控workerman进程守护

2024-11-18 13:28:44 +0800 CST views 3805

如果workerman的进程一旦挂掉。那么后果是非常严重的一件事情。有没有做到一键值守呢。

#创建workerman.sh文件

#!/bin/bash
# author: 明天见
# desc: 监控workerman主进程
count=`ps -ef |grep 'WorkerMan'| grep -v 'grep' | grep 'master' | wc -l`
#判断线程是否启动
if [ $count -lt 1 ]; then
# 如果线程没有启动就让线程进行重启下
cd /www/wwwroot/XXXXX/workerman/
nohup php start.php restart &>> workerman.log 2>&1
echo "restart";
echo $(date +%Y-%m-%d %H:%M:%S) &>>workerman.log
#追加写入日志
fi

然后在把 ./workerman.sh 放到后台进行1秒检查一次 断掉就自动重启

ps -ef |grep 'WorkerMan'

workerman.png

我们在继续把上面的脚本进行优化下 改为由shell进行文件监控

#!/bin/bash
# author: 明天见
# desc: 监控workerman主进程
while true
do
    count=`ps -ef |grep 'WorkerMan'| grep -v 'grep' | grep 'master' | wc -l`
    #判断线程是否启动
    if [ $count -lt 1 ]; then
    # 如果线程没有启动就让线程进行重启下
    cd /www/wwwroot/XXXX/workerman/
    nohup php start.php restart &>> workerman.log 2>&1
    echo "restart";
    echo $(date +%Y-%m-%d_%H:%M:%S) &>>workerman.log
    #追加写入日志
    fi
    sleep 1s
done
复制全文 生成海报 系统监控 自动化 脚本编程

推荐文章

LangChain快速上手
2025-03-09 22:30:10 +0800 CST
ElasticSearch集群搭建指南
2024-11-19 02:31:21 +0800 CST
在JavaScript中实现队列
2024-11-19 01:38:36 +0800 CST
什么是Vue实例(Vue Instance)?
2024-11-19 06:04:20 +0800 CST
IP地址获取函数
2024-11-19 00:03:29 +0800 CST
Vue3如何执行响应式数据绑定?
2024-11-18 12:31:22 +0800 CST
Vue3中的v-for指令有什么新特性?
2024-11-18 12:34:09 +0800 CST
支付宝批量转账
2024-11-18 20:26:17 +0800 CST
mysql关于在使用中的解决方法
2024-11-18 10:18:16 +0800 CST
程序员茄子在线接单