如何获取 top 命令的前 5 行并附加到文件?

如何获取 top 命令的前 5 行并附加到文件?

我知道您可以使用以下命令来执行此操作:

top -b -n 1 | head -n 5

但是,我尝试将顶部文件中的数据存储并附加到文件中,具体操作如下:

top -b -n 1 | head -n 5 >> test.txt

> test.txt替换当前文本并且不附加。)

上述命令在 Python 脚本中的使用方式如下:

process = subprocess.Popen('top -b -n 1 | head -n 5 >> htop-' + str(i)  + '.txt', shell=True)

以上是每秒调用一次的函数。

但是,只存储了第一次迭代。数据未附加。我遗漏了什么吗?

答案1

如果您希望定期附加它 - 您可能需要一些循环或其他东西来多次调用该脚本。这是一个无限while循环的示例:

while [ 1 ]; do
    top -b -n 1 | head -n 5 >> test.txt
    sleep 1
done

您可以通过更改参数sleep(以秒为单位)来调整记录频率。

相关内容