linux 下监控某个进程的脚本-以frp为例

#!/bin/bash
#监控服务进程脚本

#要监控的进程名
process_name=frp

#当前时间
now=`date +"%Y-%m-%d %H:%M:%S"`

status=$(ps -aux | grep ${process_name} | grep -v "grep"  | grep $0 | wc -l)
if [ $status -eq 0 ];
	then
    #启动命令
	sh /frps.sh
	#记录日志
	echo "${now} 重新运行 ${process_name}服务!!" >> /opt/docker_log/${process_name}.log
fi

根据这个脚本可以监控很多进程服务,比如java、tomcat,日志记录方便后期排错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
监控Linux服务端各进程CPU的脚本可以使用如下步骤实现: 1. 使用ps命令获取当前运行的进程列表和其对应的PID(进程ID)。 2. 遍历进程列表,使用top命令获取每个进程的CPU使用率。 3. 将进程的PID和对应的CPU使用率存储在一个字典中。 4. 根据需要,可以对字典按照CPU使用率进行排序,以便于查看占用CPU最多的进程。 5. 输出每个进程的PID和CPU使用率。 6. 可以将脚本设置为定时任务,周期性地执行,以实时监控进程的CPU使用情况。 以下是一个示例的监控脚本: ``` #!/bin/bash # 使用ps命令获取运行进程列表和PID process_list=($(ps -e -o comm,pid | awk '{print $1 ":" $2}')) # 定义存储进程和CPU使用率的字典 declare -A cpu_usage # 遍历进程列表 for process in "${process_list[@]}" do # 获取进程名和PID name=${process%%:*} pid=${process#*:} # 使用top命令获取进程的CPU使用率 cpu=$(top -b -n 1 -p $pid | grep $pid | awk '{print $9}') # 将进程的PID和CPU使用率添加到字典中 cpu_usage[$pid]=$cpu done # 排序字典按CPU使用率进行降序排序 sorted_cpu_usage=($(for key in ${!cpu_usage[@]}; do echo $key"="${cpu_usage[$key]}; done | sort -rn -t"=" -k2)) # 输出进程的PID和CPU使用率 for process in "${sorted_cpu_usage[@]}" do pid=${process%=*} cpu=${process#*=} echo "进程PID:$pid,CPU使用率:$cpu%" done ``` 注意:请在运行该脚本之前确保你拥有执行权限。另外,该脚本输出的CPU使用率为每个进程的实时值,因此可以在脚本中将其加入到定时任务中,实现周期性监控

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值