【问题标题】:How can I get the full list of running processes on a Mac from a python app如何从 python 应用程序获取 Mac 上正在运行的进程的完整列表
【发布时间】:2009-11-04 13:52:51
【问题描述】:

我想获取 Mac 上正在运行的进程列表,类似于你从 'ps -ea' 得到的结果

我已经尝试过 os.popen('ps -ea') 但这仅列出了一小部分进程,大概是所属 shell 拥有的进程。

我尝试过的其他选项是

'sh -c /bin/ps -ea'
'bash -c /bin/ps -ea'
'csh -c /bin/ps -ea'
Running as root via sudo
data = subprocess.Popen(['ps','ea'], stdout=subprocess.PIPE).stdout.readlines()

还有哪些其他方法可以为我提供完整的流程信息列表?

这是一个 wx python 应用程序来监控特定进程并发现它们何时死亡。

【问题讨论】:

  • 如果你的 Python 版本是 2.4++,你可以试试 subprocess 模块。只是好奇,你为什么要在 Python 中这样做。?
  • 从终端调用 ps -ea 或使用 os.popen('ps -ea') 时,我确实得到了相同的输出。您确定您正在完全读取文件对象吗?
  • os.popen('ps aux') 给了我完整的列表,os.popen('ps ea') 给了我一个最小的列表,所以我很确定我是

标签: python macos process


【解决方案1】:

os.popen('ps aux') 似乎为我列出了所有进程。

【讨论】:

  • 它也适合我!谢谢。
  • 尝试使用subprocess.Popen——这是首选方法。
  • data = subprocess.Popen(['ps','aux'], stdout=subprocess.PIPE).stdout.readlines() 也同样有效
猜你喜欢
  • 2019-06-28
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多