Metadata-Version: 1.1
Name: psutil
Version: 2.1.1
Summary: psutil is a cross-platform library for retrieving information on
running processes and system utilization (CPU, memory, disks, network)
in Python.

Home-page: http://code.google.com/p/psutil/
Author: Giampaolo Rodola
Author-email: g.rodola <at> gmail <dot> com
License: BSD
Description: .. image:: https://pypip.in/d/psutil/badge.png
            :target: https://crate.io/packages/psutil/
            :alt: Download this month
        
        .. image:: https://pypip.in/v/psutil/badge.png
            :target: https://pypi.python.org/pypi/psutil/
            :alt: Latest version
        
        .. image:: https://pypip.in/license/psutil/badge.png
            :target: https://pypi.python.org/pypi/psutil/
            :alt: License
        
        ===========
        Quick links
        ===========
        
        * `Home page <http://code.google.com/p/psutil>`_
        * `Download <https://pypi.python.org/pypi?:action=display&name=psutil#downloads>`_
        * `Blog <http://grodola.blogspot.com/search/label/psutil>`_
        * `Documentation <http://pythonhosted.org/psutil/>`_
        * `Forum <http://groups.google.com/group/psutil/topics>`_
        * `What's new <https://psutil.googlecode.com/hg/HISTORY>`_
        
        =======
        Summary
        =======
        
        psutil (python system and process utilities) is a cross-platform library for
        retrieving information on **running processes** and **system utilization**
        (CPU, memory, disks, network) in Python. It is useful mainly for **system
        monitoring**, **profiling and limiting process resources** and **management of
        running processes**. It implements many functionalities offered by command line
        tools such as: ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice,
        ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap. It currently supports
        **Linux, Windows, OSX, FreeBSD** and **Sun Solaris**, both **32-bit** and
        **64-bit** architectures, with Python versions from **2.4 to 3.4**. Pypi is
        also known to work.
        
        ==============
        Example usages
        ==============
        
        CPU
        ===
        
        .. code-block:: python
        
            >>> import psutil
            >>> psutil.cpu_times()
            scputimes(user=3961.46, nice=169.729, system=2150.659, idle=16900.540, iowait=629.59, irq=0.0, softirq=19.42, steal=0.0, guest=0, nice=0.0)
            >>>
            >>> for x in range(3):
            ...     psutil.cpu_percent(interval=1)
            ...
            4.0
            5.9
            3.8
            >>>
            >>> for x in range(3):
            ...     psutil.cpu_percent(interval=1, percpu=True)
            ...
            [4.0, 6.9, 3.7, 9.2]
            [7.0, 8.5, 2.4, 2.1]
            [1.2, 9.0, 9.9, 7.2]
            >>>
            >>>
            >>> for x in range(3):
            ...     psutil.cpu_times_percent(interval=1, percpu=False)
            ...
            scputimes(user=1.5, nice=0.0, system=0.5, idle=96.5, iowait=1.5, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
            scputimes(user=1.0, nice=0.0, system=0.0, idle=99.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
            scputimes(user=2.0, nice=0.0, system=0.0, idle=98.0, iowait=0.0, irq=0.0, softirq=0.0, steal=0.0, guest=0.0, guest_nice=0.0)
            >>>
            >>> psutil.cpu_count()
            4
            >>> psutil.cpu_count(logical=False)
            2
            >>>
        
        Memory
        ======
        
        .. code-block:: python
        
            >>> psutil.virtual_memory()
            svmem(total=8374149120L, available=2081050624L, percent=75.1, used=8074080256L, free=300068864L, active=3294920704, inactive=1361616896, buffers=529895424L, cached=1251086336)
            >>> psutil.swap_memory()
            sswap(total=2097147904L, used=296128512L, free=1801019392L, percent=14.1, sin=304193536, sout=677842944)
            >>>
        
        Disks
        =====
        
        .. code-block:: python
        
            >>> psutil.disk_partitions()
            [sdiskpart(device='/dev/sda1', mountpoint='/', fstype='ext4', opts='rw,nosuid'),
             sdiskpart(device='/dev/sda2', mountpoint='/home', fstype='ext, opts='rw')]
            >>>
            >>> psutil.disk_usage('/')
            sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)
            >>>
            >>> psutil.disk_io_counters(perdisk=False)
            sdiskio(read_count=719566, write_count=1082197, read_bytes=18626220032, write_bytes=24081764352, read_time=5023392, write_time=63199568)
            >>>
        
        Network
        =======
        
        .. code-block:: python
        
            >>> psutil.net_io_counters(pernic=True)
            {'eth0': netio(bytes_sent=485291293, bytes_recv=6004858642, packets_sent=3251564, packets_recv=4787798, errin=0, errout=0, dropin=0, dropout=0),
             'lo': netio(bytes_sent=2838627, bytes_recv=2838627, packets_sent=30567, packets_recv=30567, errin=0, errout=0, dropin=0, dropout=0)}
            >>>
            >>> psutil.net_connections()
            [pconn(fd=115, family=2, type=1, laddr=('10.0.0.1', 48776), raddr=('93.186.135.91', 80), status='ESTABLISHED', pid=1254),
             pconn(fd=117, family=2, type=1, laddr=('10.0.0.1', 43761), raddr=('72.14.234.100', 80), status='CLOSING', pid=2987),
             pconn(fd=-1, family=2, type=1, laddr=('10.0.0.1', 60759), raddr=('72.14.234.104', 80), status='ESTABLISHED', pid=None),
             pconn(fd=-1, family=2, type=1, laddr=('10.0.0.1', 51314), raddr=('72.14.234.83', 443), status='SYN_SENT', pid=None)
             ...]
        
        Other system info
        =================
        
        .. code-block:: python
        
            >>> psutil.users()
            [user(name='giampaolo', terminal='pts/2', host='localhost', started=1340737536.0),
             user(name='giampaolo', terminal='pts/3', host='localhost', started=1340737792.0)]
            >>>
            >>> psutil.boot_time()
            1365519115.0
            >>>
        
        Process management
        ==================
        
        .. code-block:: python
        
            >>> import psutil
            >>> psutil.pids()
            [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.exe()
            '/usr/bin/python'
            >>> p.cwd()
            '/home/giampaolo'
            >>> p.cmdline()
            ['/usr/bin/python', 'main.py']
            >>>
            >>> p.status()
            'running'
            >>> p.username()
            'giampaolo'
            >>> p.create_time()
            1267551141.5019531
            >>> p.terminal()
            '/dev/pts/0'
            >>>
            >>> p.uids()
            puids(real=1000, effective=1000, saved=1000)
            >>> p.gids()
            pgids(real=1000, effective=1000, saved=1000)
            >>>
            >>> p.cpu_times()
            pcputimes(user=1.02, system=0.31)
            >>> p.cpu_percent(interval=1.0)
            12.1
            >>> p.cpu_affinity()
            [0, 1, 2, 3]
            >>> p.set_cpu_affinity([0])
            >>>
            >>> p.memory_percent()
            0.63423
            >>>
            >>> p.memory_info()
            pmem(rss=7471104, vms=68513792)
            >>> p.ext_memory_info()
            extmem(rss=9662464, vms=49192960, shared=3612672, text=2564096, lib=0, data=5754880, dirty=0)
            >>> p.memory_maps()
            [pmmap_grouped(path='/lib/x86_64-linux-gnu/libutil-2.15.so', rss=16384, anonymous=8192, swap=0),
             pmmap_grouped(path='/lib/x86_64-linux-gnu/libc-2.15.so', rss=6384, anonymous=15, swap=0),
             pmmap_grouped(path='/lib/x86_64-linux-gnu/libcrypto.so.1.0.0', rss=34124, anonymous=1245, swap=0),
             pmmap_grouped(path='[heap]', rss=54653, anonymous=8192, swap=0),
             pmmap_grouped(path='[stack]', rss=1542, anonymous=166, swap=0),
             ...]
            >>>
            >>> p.io_counters()
            pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632)
            >>>
            >>> p.open_files()
            [popenfile(path='/home/giampaolo/svn/psutil/somefile', fd=3)]
            >>>
            >>> p.connections()
            [pconn(fd=115, family=2, type=1, laddr=('10.0.0.1', 48776), raddr=('93.186.135.91', 80), status='ESTABLISHED'),
             pconn(fd=117, family=2, type=1, laddr=('10.0.0.1', 43761), raddr=('72.14.234.100', 80), status='CLOSING'),
             pconn(fd=119, family=2, type=1, laddr=('10.0.0.1', 60759), raddr=('72.14.234.104', 80), status='ESTABLISHED'),
             pconn(fd=123, family=2, type=1, laddr=('10.0.0.1', 51314), raddr=('72.14.234.83', 443), status='SYN_SENT')]
            >>>
            >>> p.num_threads()
            4
            >>> p.num_fds()
            8
            >>> p.threads()
            [pthread(id=5234, user_time=22.5, system_time=9.2891),
             pthread(id=5235, user_time=0.0, system_time=0.0),
             pthread(id=5236, user_time=0.0, system_time=0.0),
             pthread(id=5237, user_time=0.0707, system_time=1.1)]
            >>>
            >>> p.num_ctx_switches()
            pctxsw(voluntary=78, involuntary=19)
            >>>
            >>> p.nice()
            0
            >>> p.set_nice(10)
            >>>
            >>> p.set_ionice(psutil.IOPRIO_CLASS_IDLE)  # IO priority (Win and Linux only)
            >>> p.ionice()
            pionice(ioclass=3, value=0)
            >>>
            >>> p.set_rlimit(psutil.RLIMIT_NOFILE, (5, 5))  # resource limits (Linux only)
            >>> p.rlimit(psutil.RLIMIT_NOFILE)
            (5, 5)
            >>>
            >>> p.suspend()
            >>> p.resume()
            >>>
            >>> p.terminate()
            >>> p.wait(timeout=3)
            0
            >>>
            >>> psutil.test()
            USER         PID %CPU %MEM     VSZ     RSS TTY        START    TIME  COMMAND
            root           1  0.0  0.0   24584    2240            Jun17   00:00  init
            root           2  0.0  0.0       0       0            Jun17   00:00  kthreadd
            root           3  0.0  0.0       0       0            Jun17   00:05  ksoftirqd/0
            ...
            giampaolo  31475  0.0  0.0   20760    3024 /dev/pts/0 Jun19   00:00  python2.4
            giampaolo  31721  0.0  2.2  773060  181896            00:04   10:30  chrome
            root       31763  0.0  0.0       0       0            00:05   00:00  kworker/0:1
            >>>
        
        Further process APIs
        ====================
        
        .. code-block:: python
        
            >>> for p in psutil.process_iter():
            ...     print(p)
            ...
            psutil.Process(pid=1, name='init')
            psutil.Process(pid=2, name='kthreadd')
            psutil.Process(pid=3, name='ksoftirqd/0')
            ...
            >>>
            >>> def on_terminate(proc):
            ...     print("process {} terminated".format(proc))
            ...
            >>> # waits for multiple processes to terminate
            >>> gone, alive = psutil.wait_procs(procs_list, 3, callback=on_terminate)
            >>>
        
Keywords: ps,top,kill,free,lsof,netstat,nice,tty,ionice,uptime,taskmgr,process,df,iotop,iostat,ifconfig,taskset,who,pidof,pmap,smem,monitoring,ulimit,prlimit
Platform: Platform Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: Win32 (MS Windows)
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows :: Windows NT/2000
Classifier: Operating System :: Microsoft
Classifier: Operating System :: OS Independent
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: POSIX :: SunOS/Solaris
Classifier: Operating System :: POSIX
Classifier: Programming Language :: C
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.4
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.0
Classifier: Programming Language :: Python :: 3.1
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Benchmark
Classifier: Topic :: System :: Hardware
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Networking :: Monitoring
Classifier: Topic :: System :: Networking
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
