比如脚本名称为:top_stat.sh 如果要每隔5s获取进程名redis内存cpu资源1000次
调用脚本的命令为 sh top_stat.sh redis 1000 5
脚本内容
#!/bin/bash
log=/tmp/`date "+%Y-%m-%d_%H_%M"`.top
#获取进程编号
pid=`ps -ef|grep "$1"|grep -v "$0"|grep -v "grep"|awk '{print $2}'`
echo $pid
for((i=0;i<$2;i++));do
top -p $pid -b -d 1 -n 1|grep root|awk '{print strftime("%Y-%m-%d %H:%M:%S"),$0;}' >> $log
sleep $3s
done