psutil

# Summary psutil is a module providing an interface for retrieving information on running processes and system utilization (CPU, memory) in a portable way by using Python, implementing many functionalities offered by command line tools like ps, top, kill and Windows task manager. It currently supports Linux, OS X, FreeBSD and Windows with Python versions from 2.4 to 3.1 by using a unique code base. # Example usage ### process management
    >>> import psutil
    >>> psutil.get_pid_list()
    [1, 2, 3, 4, 5, 6, 7, 46, 48, 50, 51, 178, 182, 222, 223, 224,
    268, 1215, 1216, 1220, 1221, 1243, 1244, 1301, 1601, 2237, 2355,
    2637, 2774, 3932, 4176, 4177, 4185, 4187, 4189, 4225, 4243, 4245,
    4263, 4282, 4306, 4311, 4312, 4313, 4314, 4337, 4339, 4357, 4358,
    4363, 4383, 4395, 4408, 4433, 4443, 4445, 4446, 5167, 5234, 5235,
    5252, 5318, 5424, 5644, 6987, 7054, 7055, 7071]
    >>> p = psutil.Process(7055)
    >>> p.name
    'python'
    >>> p.path
    '/usr/bin'
    >>> p.cmdline
    ['/usr/bin/python', '-O', 'run.py']
    >>> p.uid
    1000
    >>> p.gid
    1000
    >>> p.username
    'jake'
    >>> p.create_time
    1267551141.5019531
    >>> p.get_cpu_percent()
    12.31243
    >>> p.get_memory_percent()
    0.63423
    >>> rss, vms =  p.get_memory_info()
    >>> "Resident memory: %s KB" %(rss / 1024)
    'Resident memory: 3768 KB'
    >>> "Virtual memory: %s KB" %(vms / 1024)
    'Virtual memory: 6176 KB'
    >>>
    >>> p.suspend()
    >>> p.resume()
    >>> psutil.test()
    UID       PID %CPU %MEM     VSZ     RSS START     TIME COMMAND
    0           0  0.0  0.0       0       0 00:12    00:00 [sched]
    0           1  0.0  0.3    1740     600 00:12    00:04 /sbin/init
    0           2  0.0  0.0       0       0 00:12    00:00 [kthreadd]
    0           3  0.0  0.0       0       0 00:12    00:00 [migration/0]
    ...
    0       13239  0.0  2.6    13604   1044 00:38    00:00 /usr/sbin/smbd -D
    1000    23648  0.0  2.4    12512   2008 14:43    00:06 sshd: user@pts/2
    1000    23649  0.0  1.2    5944    3340 14:43    00:00 -bash
    0       25926  0.0  1.1    5432    3072 17:55    00:00 -su
    0       28655  0.0  1.0    4932    3204 21:58    00:00 python _psutil.py
    >>>
### System monitoring (CPU and memory)
    >>> import psutil, time
    >>> print psutil.cpu_times()
    softirq=50.87; iowait=39.63; system=1130.67; idle=164171.41; user=965.15; irq=7.08; nice=0.0
    >>>
    >>> while 1:
    ...     print round(psutil.cpu_percent(), 1)
    ...     time.sleep(1)
    ...
    5.4
    3.2
    7.3
    7.1
    2.5
    Traceback (most recent call last):
      File "<stdin>", line 3, in <module>
    KeyboardInterrupt
    >>>
    >>> psutil.TOTAL_PHYMEM
    526458880
    >>> psutil.avail_phymem()
    153530368
    >>> psutil.total_virtmem()
    197365760
    >>> psutil.avail_virtmem()
    194277376
# Mailing lists Users http://groups.google.com/group/psutil/topics Developers http://groups.google.com/group/psutil-dev/topics SVN commits and issue tracker changes http://groups.google.com/group/psutil-commits/topics # Contribute If you want to help or just give us suggestions about the project and other related things, subscribe to the discussion mailing list. If you want to talk with project team members about psutil and other related things feel free to contact us at the following addresses:
Name | Country | E-mail
Jay Loden | New Jersey (USA) | jloden at gmail dot com
Giampaolo Rodola' | Turin (Italy) | g.rodola at gmail dot com
Feedbacks and suggestions are greatly appreciated as well as new testers and coders willing to join the development. For any bug report, patch proposal or feature request, add an entry into the Issue Tracker. Thank you.