我尝试着:
import commands
print commands.getoutput("ps -u 0")
Run Code Online (Sandbox Code Playgroud)
但它不适用于os x.os而不是命令给出相同的输出:USER PID%CPU%MEM VSZ RSS TT STAT STARTED TIME COMMAND
而已
这适用于Mac OS X 10.5.5.注意大写-U选项.也许那是你的问题.
import subprocess
ps = subprocess.Popen("ps -U 0", shell=True, stdout=subprocess.PIPE)
print ps.stdout.read()
ps.stdout.close()
ps.wait()
Run Code Online (Sandbox Code Playgroud)
这是Python版本
Python 2.5.2 (r252:60911, Feb 22 2008, 07:57:53)
[GCC 4.0.1 (Apple Computer, Inc. build 5363)] on darwin
Run Code Online (Sandbox Code Playgroud)
如果操作系统支持/ proc fs,你可以这样做:
>>> import os
>>> pids = [int(x) for x in os.listdir('/proc') if x.isdigit()]
>>> pids
[1, 2, 3, 6, 7, 9, 11, 12, 13, 15, ... 9406, 9414, 9428, 9444]
>>>
Run Code Online (Sandbox Code Playgroud)
跨平台解决方案(linux,freebsd,osx,windows)是使用psutil:
>>> import psutil
>>> psutil.pids()
[1, 2, 3, 6, 7, 9, 11, 12, 13, 15, ... 9406, 9414, 9428, 9444]
>>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7231 次 |
| 最近记录: |