当前位置: 技术问答>linux和unix
top和awk通过管道连接起来后无法重定向
来源: 互联网 发布时间:2017-04-03
本文导语: 我写了一个监控进程内存使用情况的脚本,脚本利用top和awk来实现的,脚本可正常运行,但是无法重定向输出,各位大神帮忙看看是啥问题,咋解决,跪谢! 脚本代码: #!/bin/sh if [ "$#" -ne "1" ];then echo "usage:...
我写了一个监控进程内存使用情况的脚本,脚本利用top和awk来实现的,脚本可正常运行,但是无法重定向输出,各位大神帮忙看看是啥问题,咋解决,跪谢!
脚本代码:
执行:
./mem_monitor.sh monsvr > log.txt
运行结果里只有第一行top出来的数据。
脚本代码:
#!/bin/sh
if [ "$#" -ne "1" ];then
echo "usage: $0 "
exit 1
fi
pid=`pgrep $1 | awk '{print $1}'`
top -b -n 1 -p $pid | awk '$1=="PID"{print $5,$6,$7}'
top -b -d 2 -p $pid | awk -v awk_pid="$pid" '$1==awk_pid{print $5,$6,$7}'
执行:
./mem_monitor.sh monsvr > log.txt
运行结果里只有第一行top出来的数据。
|
最后一行:
top -b -d 2 -p $pid | awk -v awk_pid="$pid" '$1==awk_pid{print $5,$6,$7;fflush()}'