广告
返回顶部
首页 > 资讯 > 操作系统 >Linux下使用Shell脚本实现进程监控的流程
  • 460
分享到

Linux下使用Shell脚本实现进程监控的流程

Shell脚本进程监控Linux使用Shell脚本进程监控 2023-02-27 08:02:06 460人浏览 安东尼
摘要

本文介绍一种在linux系统下为实现某些关键进程状态的实时监控而使用shell脚本的编写方法。在这里主要通过监控某些进程是否退出作为判断依据,如果某个进程退出了,则进行对应的恢复处理

本文介绍一种在linux系统下为实现某些关键进程状态的实时监控而使用shell脚本的编写方法。在这里主要通过监控某些进程是否退出作为判断依据,如果某个进程退出了,则进行对应的恢复处理,如重新拉起相关的进程等。

下面介绍该脚本的实现流程。

首先生成一个名为”process_check.sh”的脚本,脚本内容如下:

#!/bin/bash
 
#该函数检查关键进程的状态,最终返回进程的个数。
checkprocess()
{
#       echo "checkprocess...$1"
        if [ "$1" = "" ];
        then
                return 1
        fi
        process_num=`ps -ef|grep "$1" |grep -v "grep" |wc -l`
#       echo "checkprocess num=$process_num"
        return $process_num
}
#进程如有退出,则记录相关的信息,并做相关的处理
recordinfo()
{
#       echo "check $1"
        if [ "$1" = "" ];
        then
                return
        fi
#打印进程退出的时间
        date "+++++++++++++++++++ +%Y-%m-%d %H:%M:%S '$1' exit! +++++++++++++++++++"
#重新拉起这个进程
        "$1" &
        echo "restart $1"
}
 
#检查进程的状态
check()
{
        echo "####check $1"
        if [ "$1" = "" ];
        then
                return
        fi
        checkprocess "$1"
        check_result=$?
#如果该进程的个数为0,则说明该进程已经退出
        if [ $check_result -eq 0 ];
        then
                recordinfo "$1"
#               exit
        fi
}
#循环检测
while [ 1 ] ; do
        #关键进程列表,多个进程以逗号分隔,这里以两个进程为例子。
        process_name="./test1,./test2"
        OLD_IFS="$IFS"
        IFS=","
        arr=($process_name)
        IFS="$OLD_IFS"
 
        for s in ${arr[@]}
        do
          check "$s"
        done
        sleep 3
#       echo "check loop..."
done

测试验证

这里写一个简单的测试程序,代码如下:

void main()
{
        while(1) {
                sleep(3);
        }
}

编译后生成两个名为“test1”,“test2”的可执行文件。

为了方便测试,可以将”process_check.sh”,”test1”,”test2”放置于同一个目录下。

1.运行”process_check.sh”,如下所示:

从上图可知,”test1”,”test2”刚开始并未被拉起,运行”process_check.sh”之后,检测出”test1”,”test2”不存在,则触发拉起的机制,最终”test1”,”test2”被启动了。

2.运行过程中kill掉某一个进程,验证”process_check.sh”是否有将该进程拉起。

由下图可知,被kill的进程最终又被拉起了。

至此,该脚本的功能已被验证完毕。

结语:在 Linux 平台下,shell 脚本监控是一个非常简单、方便的工具,它可以有效的对服务器、进程进行监控,对系统开发以及进程维护人员非常有帮助。

到此这篇关于Linux下使用Shell脚本实现进程监控的文章就介绍到这了,更多相关Shell脚本进程监控内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Linux下使用Shell脚本实现进程监控的流程

本文链接: https://www.lsjlt.com/news/197595.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux下使用Shell脚本实现进程监控的流程
    本文介绍一种在Linux系统下为实现某些关键进程状态的实时监控而使用shell脚本的编写方法。在这里主要通过监控某些进程是否退出作为判断依据,如果某个进程退出了,则进行对应的恢复处理...
    99+
    2023-02-27
    Shell脚本进程监控 Linux使用Shell脚本进程监控
  • Linux下如何使用Shell脚本实现进程监控的流程
    这篇“Linux下如何使用Shell脚本实现进程监控的流程”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux下如何使用...
    99+
    2023-07-05
  • linux下进程监控的shell脚本分享
    这篇文章主要介绍“linux下进程监控的shell脚本分享”,在日常操作中,相信很多人在linux下进程监控的shell脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下进程监控的shell脚...
    99+
    2023-06-09
  • LINUX下的流量监控shell脚本
    最近比较忙,好久没更新博客了,今天刚好不忙写了一个流量监控脚本.测试在centos下已通过,有需要的朋友可以试试,有BUG或者需要添加其他功能话可以留言哦.一、脚本源码# vi /etc/rc.d/traf...
    99+
    2022-06-04
    脚本 流量 LINUX
  • 怎么用shell脚本实现LINUX下的流量监控
    本篇内容主要讲解“怎么用shell脚本实现LINUX下的流量监控”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用shell脚本实现LINUX下的流量监控”吧!一、脚本源码# vi /etc/...
    99+
    2023-06-09
  • Shell脚本实现的memcached进程监控
    WEB服务器使用memcached,但是不知道为什么memcached老是挂掉(基本20分钟~50分钟左右),导致部分网站页面在访问的时候出错;定义日志后,查看日志也未能发现什么;初步判定由于之前更新lib...
    99+
    2022-06-04
    脚本 进程 Shell
  • linux进程监控shell脚本代码
    为确保php页面在后台运行,写了一个监控脚本,假设程序异常退出,那么可以自动重启。 shell脚本/usr/local/scripts/receve.sh内容: #!/bin/bash #funtion...
    99+
    2022-06-04
    脚本 进程 代码
  • linux中怎么用shell脚本监控进程
    要在Linux中使用shell脚本监控进程,可以使用以下步骤: 获取要监控的进程的PID(进程ID)。 可以使用命令`pgrep...
    99+
    2023-10-26
    linux shell
  • shell脚本实现监控shell脚本的执行流程及变量的值
    很多时候,我们都会写shell程序来完成一些不用重复造轮子的时刻,但是,又因为shell语句中也会有函数,也会有变量,在运行后到底执行了哪些相关的操作,就需要对具体执行过程中的变量等可变的因素的监控,那么我...
    99+
    2022-06-04
    脚本 变量 流程
  • 如何用shell脚本实现监控shell脚本的执行流程及变量的值
    本篇内容主要讲解“如何用shell脚本实现监控shell脚本的执行流程及变量的值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用shell脚本实现监控shell脚本的执行流程及变量的值”吧!...
    99+
    2023-06-09
  • 使用shell脚本怎么实现服务器进程监控
    使用shell脚本怎么实现服务器进程监控?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。程序说明:1)通过将系统定义的进程(timer)配置到配置文件proces...
    99+
    2023-06-09
  • shell脚本shell脚本实现监控某个进程意外停止后拉起进程
    小编给大家分享一下shell脚本shell脚本实现监控某个进程意外停止后拉起进程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!要监护的进程启动脚本:实现脚本写入c...
    99+
    2023-06-09
  • SHELL脚本监控JAVA进程的代码
    脚本内容:java_check.sh #! /bin/bash # if [ -z `pidof java` ]; then echo -e `date +%Y-%m-%d` `date...
    99+
    2022-06-04
    脚本 进程 代码
  • shell脚本实现服务器进程监控的方法
    写作背景:   项目是基于java、weblogic及timer的处理模式,每次服务部署之后timer的整体状态是一个盲区,因为100多个进程,是否有启动遗漏或者启动重复的,想做到一目了然是件困难的事情。所以我考...
    99+
    2022-06-04
    shell 监控进程 shell 监控进程脚本
  • shell监控linux系统进程创建脚本分享
    #!/bin/shwhile truedo ps ax -o command | sort | uniq > 1.txt usleep 100000 ps ax -o command | sort ...
    99+
    2022-06-04
    脚本 进程 系统
  • shell脚本的流程控制语句的实现
    目录一、if 判断1)基本语法(2)多分支二、case 语句1)基本语法三、for 循环1)基本语法1 2)案例实操 3)基本语法 2(4)比较$*和$@区别四、while循环1)基本语法2)案例实操...
    99+
    2022-08-22
  • SHELL脚本监控JAVA进程的示例分析
    这篇文章主要为大家展示了“SHELL脚本监控JAVA进程的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“SHELL脚本监控JAVA进程的示例分析”这篇文章吧。脚本内容:java_chec...
    99+
    2023-06-09
  • linux shell实现守护进程脚本
    嵌入式初学者,第一次上传代码。昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢? #! /bin/sh #进程名字可修改 PRO_NAME=udhcp...
    99+
    2022-06-04
    脚本 进程 linux
  • shell脚本实现监控某个进程意外停止后拉起进程
    要监护的进程启动脚本:实现脚本写入crontab定时任务 #!/usr/bin/env bash # scheduled task at 22:00 everyday scriptzMqMCHnw_path=`eva...
    99+
    2022-06-04
    shell脚本拉起进程 shell脚本实现监控某个进程意外停止后拉起进程
  • 如何使linux shell实现守护进程脚本
    这篇文章主要讲解了“如何使linux shell实现守护进程脚本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使linux shell实现守护进程脚本”吧!#! /bin/sh...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作