0

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

xyz.sh

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

当我运行代码时,它会执行并产生很好的输出:

sh xyz.sh 

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

sh xyz.sh > xyz.log &

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

4

1 回答 1

4

topcli 命令的行为与您在其他实用程序中可能使用的行为不同。这是因为它不适用于典型的过滤器,例如从标准输入读取和写入标准输出的方式。相反,它模拟终端。这意味着您不能简单地重定向其输出,因为没有输出写入标准输出。

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

于 2013-08-03T17:30:29.370 回答