【发布时间】: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') 给了我一个最小的列表,所以我很确定我是