![如何获取 top 命令的前 5 行并附加到文件?](https://linux22.com/image/1159553/%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%20top%20%E5%91%BD%E4%BB%A4%E7%9A%84%E5%89%8D%205%20%E8%A1%8C%E5%B9%B6%E9%99%84%E5%8A%A0%E5%88%B0%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我知道您可以使用以下命令来执行此操作:
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
(以秒为单位)来调整记录频率。