下边以监控 dispatch-server
程序为例,进行说明:
#!/bin/bash
log="./m.log"
while true
do
date +"%Y-%m-%d %H:%M:%S" >> $log
top -n 1 -b | head -7 >> $log
# 注意
# -b: 允许你将顶部命令输出发送到其他程序或文件, 在此模式下,top将不接受输入并运行,直到你使用“-n”命令行选项设置的迭代限制为止
# -n 2: 表示top两次,因为测试发现只top一次拿到的cpu是错的
# -c: 目的是把common显示全
# -w 512:测试发现,当后台运行时,common太长时,显示的+,忽略掉具体内容
# grep -v grep:忽略掉grep自己的那一行
top -n 2 -bc -w 512 | grep "dispatch-server" | grep -v grep | tail -1 >> $log
echo "=================================================================================" >> $log
sleep 10
done
网友评论