linux下的进程监控脚本

目的:了解系统进程的查看和控制

要求:写一个脚本,它能够定时检查另外一个给定进程是否在运行,如果该进程没有运行,则启动该进程。

提示:使用ps、grep命令,可以使用循环或者定时器进程 crond。

#! /bin/bash
echo "监控进程开始,每3秒监控一次"
i=0

while [ $i -lt 5 ]
do

        ps -ef | grep "py0" | grep -v grep
        if [ $? -ne 0 ] #若找不到进程,ps返回值为1;反之,为0;
        then
                echo 尝试启动进程
                python3 py0.py 
        else
                echo "running"
        fi

        let i+=1
        sleep 3
done

echo "监控进程结束"
exit 0

运行结果:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值