Linux开发板下使用shell脚本实现进程监控

本文介绍如何在Linux开发板上利用shell脚本进行进程监控,尤其适用于ps命令功能有限的环境。文章强调了不建议通过脚本参数遍历方式,而是推荐针对每个进程单独进行判断的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该脚本适应与ps命令支持差的平台
由于每个进程启动命令不同,所以不推荐使用脚本传参加遍历的方式实现,所以本文使用每个进程单独判断。

#! /bin/sh
 
# 进程名
proc_name1="/usr/local/proc1"
proc_name2="/usr/local/proc2"
# 日志文件
file_name="/usr/local/monitor.log"
#参数定义
pid=0
is_exist=0
# 通过返回值判断进程当前是否正常运行 
proc_num()
{
# -w显示参数  过滤进程   过滤这条命令    获取显示的条数(不了解可百度或谷歌搜索wc命令)
 is_exist=`ps -w | grep $1 | grep -v grep | wc -l`
#也可is_exist=`ps -w | grep $1 | grep -v grep -c`
}
 
# 获取进程的进程号
proc_id()
{
# -w显示参数 过滤进程   过滤这条命令      返回打印的内容(不了解可百度或谷歌搜索awk命令)
# 	
 pid=`ps -w | grep $1 | grep -v grep | awk '{print $1}'`
}
 
proc_num $proc_name1
# 判断进程是否存在
if [ $is_exist -eq 0 ]
then
# 重启进程的命令,根据自己的进程修改
 $proc_name1 &
# 获取新进程号
 proc_id $proc_name1
#添加异常启动记录
 echo ${pid} ${proc_name1}, `date` >> $file_name
fi

proc_num $proc_name2
if [ $is_exist -eq 0 ]
then
 $proc_name2 &
 proc_id $proc_name2
 echo ${pid} ${proc_name2}, `date` >> $file_name
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值