Pages

Friday, 22 December 2017

awk


今天调试网站的时候,发现我需要用到这样一个功能,就是每过一段时间记录一下server所使用的内存。
当然“每过一段时间”的工作可以交给crontab来做。而内存的使用情况则是记录在 /proc/<pid>/statm 中。所以现在所要做的事情就是用cat将该文件的内容追加到某个日志中。
不过这里需要获得server的pid,而我能想到的办法是使用ps和grep,但是pid只是grep结果的一小部分(事实上是第一小段),于是我上网查了一下,发现可以使用awk来完成这个任务。
基本语法是 awk -F" " 'print $1' ,表示取出内容中以空格隔开的第一段内容。
于是最终的语句看起来如下:
1
cat /proc/`ps -A | grep "java" | awk -F" " 'print $1'`/statm >> /logs/memory.log
总的来说,awk是一个非常强大的字符串处理工具.

No comments:

Post a Comment