bash语言实现系统进程监控脚本

此Bash脚本示例展示了如何使用ps命令和grep过滤器监控指定进程(如nginx),如果未找到该进程,则执行重启操作。脚本包含一个无限循环,每5秒检查一次,避免过度占用CPU资源。
摘要由CSDN通过智能技术生成

Bash语言可以使用ps命令来获取当前系统进程的信息,并使用循环和条件语句来实现系统进程监控脚本。以下是一个简单的实现示例:

bash

#!/bin/bash

 

# 要监控的进程名

PROCESS_NAME="nginx"

 

# 循环监控

while true

do

    # 使用ps命令获取进程列表,并通过grep命令过滤出要监控的进程

    # 如果找不到该进程,则重启该进程

    ps -ef | grep $PROCESS_NAME | grep -v grep > /dev/null

    if [ $? -ne 0 ]

    then

        echo "Process $PROCESS_NAME not found. Restarting..."

        /etc/init.d/$PROCESS_NAME restart

    fi

    # 等待5秒钟

    sleep 5

done

在上面的示例中,PROCESS_NAME变量是要监控的进程名。脚本会在循环中使用ps命令获取进程列表,并使用grep命令过滤出要监控的进程。如果找不到该进程,则会重新启动该进程。

该脚本还使用了sleep命令来等待5秒钟,以免在监控过程中消耗过多的CPU资源。

请注意,以上示例仅为演示用途,实际使用时需要根据具体需求进行修改和优化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值