我试图使用以下python脚本捕获top命令的输出:
import os
process = os.popen('top')
preprocessed = process.read()
process.close()
output = 'show_top.txt'
fout = open(output,'w')
fout.write(preprocessed)
fout.close()
但是,该脚本不适用于top。它被困了很长时间。但是它适用于像'ls'这样的命令。我不知道为什么会发生这种情况?
答案 0 :(得分:3)
由于您正在等待流程完成,因此您需要告诉top
仅打印一次输出,然后退出。
您可以通过运行:
来实现top -n 1
答案 1 :(得分:0)
-b 参数
os.popen('top -b -n 1')
top -b -n 1