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

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

如果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
复制全文 生成海报 系统监控 自动化 脚本编程

推荐文章

Vue3中的v-for指令有什么新特性?
2024-11-18 12:34:09 +0800 CST
Vue3中的响应式原理是什么?
2024-11-19 09:43:12 +0800 CST
实现微信回调多域名的方法
2024-11-18 09:45:18 +0800 CST
Python设计模式之工厂模式详解
2024-11-19 09:36:23 +0800 CST
Vue中如何处理异步更新DOM?
2024-11-18 22:38:53 +0800 CST
Vue3 实现页面上下滑动方案
2025-06-28 17:07:57 +0800 CST
底部导航栏
2024-11-19 01:12:32 +0800 CST
使用 Nginx 获取客户端真实 IP
2024-11-18 14:51:58 +0800 CST
JavaScript设计模式:单例模式
2024-11-18 10:57:41 +0800 CST
软件定制开发流程
2024-11-19 05:52:28 +0800 CST
一键配置本地yum源
2024-11-18 14:45:15 +0800 CST
MyLib5,一个Python中非常有用的库
2024-11-18 12:50:13 +0800 CST
免费常用API接口分享
2024-11-19 09:25:07 +0800 CST
用 Rust 玩转 Google Sheets API
2024-11-19 02:36:20 +0800 CST
js函数常见的写法以及调用方法
2024-11-19 08:55:17 +0800 CST
联系我们
2024-11-19 02:17:12 +0800 CST
一些高质量的Mac软件资源网站
2024-11-19 08:16:01 +0800 CST
nuxt.js服务端渲染框架
2024-11-17 18:20:42 +0800 CST
Nginx 防盗链配置
2024-11-19 07:52:58 +0800 CST
Vue中的样式绑定是如何实现的?
2024-11-18 10:52:14 +0800 CST
程序员茄子在线接单