做了一个运维平台,有一个功能定时执行一个脚本,获取cpu使用率和内存使用情况到监控平台。
获取cpu使用率使用的是top中的信息。直接运行没有问题。通过nohup xxx.sh & 之后获取不到cpu
信息。
代码如下:CpuRatio=`top -n 1 | awk -F '[ %]+' 'NR==3 {print $2}'`
这段代码也是在网上找的。经过排查发现。top命令默认是标准输出。当脚本后台运行时,标量获取不到top的结果。因此需要给top加一个-b ,标识后台执行。成功解决问题。
代码如下 :CpuRatio=`top -n 1 -b | awk -F '[ %]+' 'NR==3 {print $2}'`