top命令的笔记补充2--如何将top信息后台运行并写入log

本文分享了一次解决top命令后台运行终止问题的经历,并提供了一个完整的shell脚本示例,该脚本能够持续监控系统的温度、CPU频率及CPU使用率等信息。

这几天写作2篇关于top的文章了,总是发现刚解决一个问题,第二个问题就出来了,总是不那么完美,好了,上主菜:

我在实验的时候用的脚本如下:

#!/bin/bash
while true
do
  echo "*********************************************************************"
  temperature=`cat /sys/class/thermal/thermal_zone0/temp`
  #temperature=`echo "scale=3;$temperature/1000" | bc`
  echo "`date +%T`  current temperature= $temperature runtime = `cat /proc/uptime`" | tee -a ./result.log 
  echo "`date +%T`  current freq=  `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq`" | tee -a ./result.log
  top -n 1 | grep '%Cpu' -A 0 | tee -a ./top.log
  sleep 60s  
  echo ""
done

其中top的语句的意思是执行一次top,将打印出来的包含%Cpu的字符打印出来,同时 保存到top。log中,实际使用的时候发现结果不对,一旦后台执行就莫名其妙的终止了,删除这一句就正常了,说明其他的没有问题。

从网上查找资料 ,top后台无法执行解决办法_tzh_linux的专栏-优快云博客  从这里查到可以使用-b 参数,才能后台执行  ,于是就更改成了  top -b -n 1 | grep '%Cpu' -A 0 | tee -a ./top.log &  ,然后一执行,得,发现一个别的问题,现象是,当我后台这行这个脚本的时候(我的这个脚本的名称是run.sh),发现输出倒是正常,但是使用ps,不能发现run.sh的进程干脆没办法结束了,使用 ps -ef 也不行,只能reboot,说明还是没有完全解决问题,后来想既然我的外面的脚本使用后台运行,这里就把 & 去掉,修改完成后在执行,结果正确,也能结束进程,完美解决;

全部脚本如下:

#!/bin/bash
rm *.log
while true
do
  echo "**********************************************************"
  temperature=`cat /sys/class/thermal/thermal_zone0/temp`
  temperature=`echo "scale=3;$temperature/1000" | bc`
  echo "`date +%T`  current temperature= $temperature runtime = `cat /proc/uptime`" | tee -a ./result.log
  echo "`date +%T`  current freq=  `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq`" | tee -a ./result.log
  #vmstat 1 3 | tee -a ./result.txt
  echo "`date +%T`  `top -b -n 1 | grep '%Cpu' -A 0`" | tee -a ./top.log
  sleep 5s
  echo ""
done
感觉有用处的,就点个赞吧!

精准定位需求,解决实际问题;理论结合实际,共同努力提高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

six2me

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值