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

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

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

推荐文章

Rust 中的所有权机制
2024-11-18 20:54:50 +0800 CST
在 Vue 3 中如何创建和使用插件?
2024-11-18 13:42:12 +0800 CST
底部导航栏
2024-11-19 01:12:32 +0800 CST
API 管理系统售卖系统
2024-11-19 08:54:18 +0800 CST
PHP设计模式:单例模式
2024-11-18 18:31:43 +0800 CST
虚拟DOM渲染器的内部机制
2024-11-19 06:49:23 +0800 CST
php 连接mssql数据库
2024-11-17 05:01:41 +0800 CST
php curl并发代码
2024-11-18 01:45:03 +0800 CST
从Go开发者的视角看Rust
2024-11-18 11:49:49 +0800 CST
WebSocket在消息推送中的应用代码
2024-11-18 21:46:05 +0800 CST
如何在 Linux 系统上安装字体
2025-02-27 09:23:03 +0800 CST
12 个精选 MCP 网站推荐
2025-06-10 13:26:28 +0800 CST
nuxt.js服务端渲染框架
2024-11-17 18:20:42 +0800 CST
如何将TypeScript与Vue3结合使用
2024-11-19 01:47:20 +0800 CST
Vue3中如何实现状态管理?
2024-11-19 09:40:30 +0800 CST
禁止调试前端页面代码
2024-11-19 02:17:33 +0800 CST
程序员茄子在线接单