运行没有PTY的命令

时间:2014-05-08 17:40:45

标签: linux memory watch pty

我正在编写一个测试脚本,需要收集" free -m"在背景处以某个间隔输出。但是,watch cmd发送控制序列以删除旧输出,认为它在终端中。但是我不想要那个,我想要整个过程中的价值观。这可能吗?

总之;我跑

watch -n 1 "free -m | grep buffers/cache" > time

我希望时间有多行:

-/+ buffers/cache: 2212 5730 -/+ buffers/cache: 2219 5730 -/+ buffers/cache: 2217 5730

但它只包含:

0u May 8 20:39:19 2014 -/+ buffers/cache: 2212 5730

1 个答案:

答案 0 :(得分:1)

只需使用循环:

while : ; do free -m | grep buffers; sleep 1; done

冒号相当于true

如果您愿意,可以重定向到名为time的文件:

while : ; do free -m | grep buffers >> time; sleep 1; done