Linux将顶部输出存储到文件中

时间:2013-08-03 17:24:44

标签: linux shell

我想执行top命令,如下所示,并将输出存储到文件中。

xyz.sh

#!/bin/sh 
while :
do
top -n 1 
sleep 5
done

当我运行代码时,它执行并生成输出正常:

sh xyz.sh 

但是当我尝试在后台执行代码时它会被杀死。

sh xyz.sh > xyz.log &

任何想法如何捕获最高输出?

1 个答案:

答案 0 :(得分:4)

top cli命令的行为与您可能从其他实用程序使用的行为不同。这是因为它在典型的过滤器中不起作用,就像从stdin读取并写入stdout一样。相反,它模拟终端。这意味着您不能简单地重定向其输出,因为没有输出写入标准输出。

检查手册页(您应该总是这样做......)。你会注意到-b标志改变了这种行为。这将允许您做您尝试的。