【问题标题】:python script to capture output of top commandpython脚本捕获top命令的输出
【发布时间】:2014-10-30 01:29:36
【问题描述】:

我试图使用以下 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”这样的命令。我不知道为什么会这样?

【问题讨论】:

    标签: linux python-2.7


    【解决方案1】:

    由于您正在等待进程完成,您需要告诉top 只打印一次输出,然后退出。

    你可以通过运行来做到这一点:

    top -n 1
    

    【讨论】:

      【解决方案2】:

      -b 从 python 读取 stdout 时需要参数

      os.popen('top -b -n 1')

      top -b -n 1
      

      【讨论】:

      • 这是正确的。终于在搜了这么久...
      猜你喜欢
      • 1970-01-01
      • 2015-08-05
      • 2012-07-28
      • 2016-05-01
      • 2015-12-26
      • 2022-06-15
      • 2013-02-17
      • 2017-02-26
      • 2013-01-16
      相关资源
      最近更新 更多