1Metadata-Version: 2.1
2Name: psutil
3Version: 5.8.0
4Summary: Cross-platform lib for process and system monitoring in Python.
5Home-page: https://github.com/giampaolo/psutil
6Author: Giampaolo Rodola
7Author-email: g.rodola@gmail.com
8License: BSD
9Description: |  |downloads| |stars| |forks| |contributors| |coverage| |quality|
10        |  |version| |py-versions| |packages| |license|
11        |  |github-actions| |appveyor| |doc| |twitter| |tidelift|
12
13        .. |downloads| image:: https://img.shields.io/pypi/dm/psutil.svg
14            :target: https://pepy.tech/project/psutil
15            :alt: Downloads
16
17        .. |stars| image:: https://img.shields.io/github/stars/giampaolo/psutil.svg
18            :target: https://github.com/giampaolo/psutil/stargazers
19            :alt: Github stars
20
21        .. |forks| image:: https://img.shields.io/github/forks/giampaolo/psutil.svg
22            :target: https://github.com/giampaolo/psutil/network/members
23            :alt: Github forks
24
25        .. |contributors| image:: https://img.shields.io/github/contributors/giampaolo/psutil.svg
26            :target: https://github.com/giampaolo/psutil/graphs/contributors
27            :alt: Contributors
28
29        .. |quality| image:: https://img.shields.io/codacy/grade/ce63e7f7f69d44b5b59682196e6fbfca.svg
30            :target: https://www.codacy.com/app/g-rodola/psutil?utm_source=github.com&utm_medium=referral&utm_content=giampaolo/psutil&utm_campaign=Badge_Grade
31            :alt: Code quality
32
33        .. |github-actions| image:: https://img.shields.io/github/workflow/status/giampaolo/psutil/CI?label=Linux%2C%20macOS%2C%20FreeBSD
34            :target: https://github.com/giampaolo/psutil/actions?query=workflow%3ACI
35            :alt: Linux, macOS, Windows tests
36
37        .. |appveyor| image:: https://img.shields.io/appveyor/ci/giampaolo/psutil/master.svg?maxAge=3600&label=Windows
38            :target: https://ci.appveyor.com/project/giampaolo/psutil
39            :alt: Windows tests (Appveyor)
40
41        .. |coverage| image:: https://coveralls.io/repos/github/giampaolo/psutil/badge.svg?branch=master
42            :target: https://coveralls.io/github/giampaolo/psutil?branch=master
43            :alt: Test coverage (coverall.io)
44
45        .. |doc| image:: https://readthedocs.org/projects/psutil/badge/?version=latest
46            :target: http://psutil.readthedocs.io/en/latest/?badge=latest
47            :alt: Documentation Status
48
49        .. |version| image:: https://img.shields.io/pypi/v/psutil.svg?label=pypi
50            :target: https://pypi.org/project/psutil
51            :alt: Latest version
52
53        .. |py-versions| image:: https://img.shields.io/pypi/pyversions/psutil.svg
54            :target: https://pypi.org/project/psutil
55            :alt: Supported Python versions
56
57        .. |packages| image:: https://repology.org/badge/tiny-repos/python:psutil.svg
58            :target: https://repology.org/metapackage/python:psutil/versions
59            :alt: Binary packages
60
61        .. |license| image:: https://img.shields.io/pypi/l/psutil.svg
62            :target: https://github.com/giampaolo/psutil/blob/master/LICENSE
63            :alt: License
64
65        .. |twitter| image:: https://img.shields.io/twitter/follow/grodola.svg?label=follow&style=flat&logo=twitter&logoColor=4FADFF
66            :target: https://twitter.com/grodola
67            :alt: Twitter Follow
68
69        .. |tidelift| image:: https://tidelift.com/badges/github/giampaolo/psutil?style=flat
70            :target: https://tidelift.com/subscription/pkg/pypi-psutil?utm_source=pypi-psutil&utm_medium=referral&utm_campaign=readme
71            :alt: Tidelift
72
73        -----
74
75        Quick links
76        ===========
77
78        - `Home page <https://github.com/giampaolo/psutil>`_
79        - `Install <https://github.com/giampaolo/psutil/blob/master/INSTALL.rst>`_
80        - `Documentation <http://psutil.readthedocs.io>`_
81        - `Download <https://pypi.org/project/psutil/#files>`_
82        - `Forum <http://groups.google.com/group/psutil/topics>`_
83        - `StackOverflow <https://stackoverflow.com/questions/tagged/psutil>`_
84        - `Blog <https://gmpy.dev/tags/psutil>`_
85        - `What's new <https://github.com/giampaolo/psutil/blob/master/HISTORY.rst>`_
86
87
88        Summary
89        =======
90
91        psutil (process and system utilities) is a cross-platform library for
92        retrieving information on **running processes** and **system utilization**
93        (CPU, memory, disks, network, sensors) in Python.
94        It is useful mainly for **system monitoring**, **profiling and limiting process
95        resources** and **management of running processes**.
96        It implements many functionalities offered by classic UNIX command line tools
97        such as *ps, top, iotop, lsof, netstat, ifconfig, free* and others.
98        psutil currently supports the following platforms:
99
100        - **Linux**
101        - **Windows**
102        - **macOS**
103        - **FreeBSD, OpenBSD**, **NetBSD**
104        - **Sun Solaris**
105        - **AIX**
106
107        Supported Python versions are **2.6**, **2.7**, **3.4+** and
108        `PyPy <http://pypy.org/>`__.
109
110        Funding
111        =======
112
113        While psutil is free software and will always be, the project would benefit
114        immensely from some funding.
115        Keeping up with bug reports and maintenance has become hardly sustainable for
116        me alone in terms of time.
117        If you're a company that's making significant use of psutil you can consider
118        becoming a sponsor via `GitHub <https://github.com/sponsors/giampaolo>`__,
119        `Open Collective <https://opencollective.com/psutil>`__ or
120        `PayPal <https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A9ZS7PKKRM3S8>`__
121        and have your logo displayed in here and psutil `doc <https://psutil.readthedocs.io>`__.
122
123        Sponsors
124        ========
125
126        .. image:: https://github.com/giampaolo/psutil/raw/master/docs/_static/tidelift-logo.png
127          :width: 200
128          :alt: Alternative text
129
130        `Add your logo <https://github.com/sponsors/giampaolo>`__.
131
132        Example usages
133        ==============
134
135        This represents pretty much the whole psutil API.
136
137        CPU
138        ---
139
140        .. code-block:: python
141
142            >>> import psutil
143            >>>
144            >>> psutil.cpu_times()
145            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)
146            >>>
147            >>> for x in range(3):
148            ...     psutil.cpu_percent(interval=1)
149            ...
150            4.0
151            5.9
152            3.8
153            >>>
154            >>> for x in range(3):
155            ...     psutil.cpu_percent(interval=1, percpu=True)
156            ...
157            [4.0, 6.9, 3.7, 9.2]
158            [7.0, 8.5, 2.4, 2.1]
159            [1.2, 9.0, 9.9, 7.2]
160            >>>
161            >>> for x in range(3):
162            ...     psutil.cpu_times_percent(interval=1, percpu=False)
163            ...
164            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)
165            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)
166            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)
167            >>>
168            >>> psutil.cpu_count()
169            4
170            >>> psutil.cpu_count(logical=False)
171            2
172            >>>
173            >>> psutil.cpu_stats()
174            scpustats(ctx_switches=20455687, interrupts=6598984, soft_interrupts=2134212, syscalls=0)
175            >>>
176            >>> psutil.cpu_freq()
177            scpufreq(current=931.42925, min=800.0, max=3500.0)
178            >>>
179            >>> psutil.getloadavg()  # also on Windows (emulated)
180            (3.14, 3.89, 4.67)
181
182        Memory
183        ------
184
185        .. code-block:: python
186
187            >>> psutil.virtual_memory()
188            svmem(total=10367352832, available=6472179712, percent=37.6, used=8186245120, free=2181107712, active=4748992512, inactive=2758115328, buffers=790724608, cached=3500347392, shared=787554304)
189            >>> psutil.swap_memory()
190            sswap(total=2097147904, used=296128512, free=1801019392, percent=14.1, sin=304193536, sout=677842944)
191            >>>
192
193        Disks
194        -----
195
196        .. code-block:: python
197
198            >>> psutil.disk_partitions()
199            [sdiskpart(device='/dev/sda1', mountpoint='/', fstype='ext4', opts='rw,nosuid', maxfile=255, maxpath=4096),
200             sdiskpart(device='/dev/sda2', mountpoint='/home', fstype='ext, opts='rw', maxfile=255, maxpath=4096)]
201            >>>
202            >>> psutil.disk_usage('/')
203            sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)
204            >>>
205            >>> psutil.disk_io_counters(perdisk=False)
206            sdiskio(read_count=719566, write_count=1082197, read_bytes=18626220032, write_bytes=24081764352, read_time=5023392, write_time=63199568, read_merged_count=619166, write_merged_count=812396, busy_time=4523412)
207            >>>
208
209        Network
210        -------
211
212        .. code-block:: python
213
214            >>> psutil.net_io_counters(pernic=True)
215            {'eth0': netio(bytes_sent=485291293, bytes_recv=6004858642, packets_sent=3251564, packets_recv=4787798, errin=0, errout=0, dropin=0, dropout=0),
216             'lo': netio(bytes_sent=2838627, bytes_recv=2838627, packets_sent=30567, packets_recv=30567, errin=0, errout=0, dropin=0, dropout=0)}
217            >>>
218            >>> psutil.net_connections(kind='tcp')
219            [sconn(fd=115, family=<AddressFamily.AF_INET: 2>, type=<SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=48776), raddr=addr(ip='93.186.135.91', port=80), status='ESTABLISHED', pid=1254),
220             sconn(fd=117, family=<AddressFamily.AF_INET: 2>, type=<SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=43761), raddr=addr(ip='72.14.234.100', port=80), status='CLOSING', pid=2987),
221             ...]
222            >>>
223            >>> psutil.net_if_addrs()
224            {'lo': [snicaddr(family=<AddressFamily.AF_INET: 2>, address='127.0.0.1', netmask='255.0.0.0', broadcast='127.0.0.1', ptp=None),
225                    snicaddr(family=<AddressFamily.AF_INET6: 10>, address='::1', netmask='ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', broadcast=None, ptp=None),
226                    snicaddr(family=<AddressFamily.AF_LINK: 17>, address='00:00:00:00:00:00', netmask=None, broadcast='00:00:00:00:00:00', ptp=None)],
227             'wlan0': [snicaddr(family=<AddressFamily.AF_INET: 2>, address='192.168.1.3', netmask='255.255.255.0', broadcast='192.168.1.255', ptp=None),
228                       snicaddr(family=<AddressFamily.AF_INET6: 10>, address='fe80::c685:8ff:fe45:641%wlan0', netmask='ffff:ffff:ffff:ffff::', broadcast=None, ptp=None),
229                       snicaddr(family=<AddressFamily.AF_LINK: 17>, address='c4:85:08:45:06:41', netmask=None, broadcast='ff:ff:ff:ff:ff:ff', ptp=None)]}
230            >>>
231            >>> psutil.net_if_stats()
232            {'lo': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_UNKNOWN: 0>, speed=0, mtu=65536),
233             'wlan0': snicstats(isup=True, duplex=<NicDuplex.NIC_DUPLEX_FULL: 2>, speed=100, mtu=1500)}
234            >>>
235
236        Sensors
237        -------
238
239        .. code-block:: python
240
241            >>> import psutil
242            >>> psutil.sensors_temperatures()
243            {'acpitz': [shwtemp(label='', current=47.0, high=103.0, critical=103.0)],
244             'asus': [shwtemp(label='', current=47.0, high=None, critical=None)],
245             'coretemp': [shwtemp(label='Physical id 0', current=52.0, high=100.0, critical=100.0),
246                          shwtemp(label='Core 0', current=45.0, high=100.0, critical=100.0)]}
247            >>>
248            >>> psutil.sensors_fans()
249            {'asus': [sfan(label='cpu_fan', current=3200)]}
250            >>>
251            >>> psutil.sensors_battery()
252            sbattery(percent=93, secsleft=16628, power_plugged=False)
253            >>>
254
255        Other system info
256        -----------------
257
258        .. code-block:: python
259
260            >>> import psutil
261            >>> psutil.users()
262            [suser(name='giampaolo', terminal='pts/2', host='localhost', started=1340737536.0, pid=1352),
263             suser(name='giampaolo', terminal='pts/3', host='localhost', started=1340737792.0, pid=1788)]
264            >>>
265            >>> psutil.boot_time()
266            1365519115.0
267            >>>
268
269        Process management
270        ------------------
271
272        .. code-block:: python
273
274            >>> import psutil
275            >>> psutil.pids()
276            [1, 2, 3, 4, 5, 6, 7, 46, 48, 50, 51, 178, 182, 222, 223, 224, 268, 1215,
277             1216, 1220, 1221, 1243, 1244, 1301, 1601, 2237, 2355, 2637, 2774, 3932,
278             4176, 4177, 4185, 4187, 4189, 4225, 4243, 4245, 4263, 4282, 4306, 4311,
279             4312, 4313, 4314, 4337, 4339, 4357, 4358, 4363, 4383, 4395, 4408, 4433,
280             4443, 4445, 4446, 5167, 5234, 5235, 5252, 5318, 5424, 5644, 6987, 7054,
281             7055, 7071]
282            >>>
283            >>> p = psutil.Process(7055)
284            >>> p
285            psutil.Process(pid=7055, name='python3', status='running', started='09:04:44')
286            >>> p.name()
287            'python'
288            >>> p.exe()
289            '/usr/bin/python'
290            >>> p.cwd()
291            '/home/giampaolo'
292            >>> p.cmdline()
293            ['/usr/bin/python', 'main.py']
294            >>>
295            >>> p.pid
296            7055
297            >>> p.ppid()
298            7054
299            >>> p.children(recursive=True)
300            [psutil.Process(pid=29835, name='python3', status='sleeping', started='11:45:38'),
301             psutil.Process(pid=29836, name='python3', status='waking', started='11:43:39')]
302            >>>
303            >>> p.parent()
304            psutil.Process(pid=4699, name='bash', status='sleeping', started='09:06:44')
305            >>> p.parents()
306            [psutil.Process(pid=4699, name='bash', started='09:06:44'),
307             psutil.Process(pid=4689, name='gnome-terminal-server', status='sleeping', started='0:06:44'),
308             psutil.Process(pid=1, name='systemd', status='sleeping', started='05:56:55')]
309            >>>
310            >>> p.status()
311            'running'
312            >>> p.username()
313            'giampaolo'
314            >>> p.create_time()
315            1267551141.5019531
316            >>> p.terminal()
317            '/dev/pts/0'
318            >>>
319            >>> p.uids()
320            puids(real=1000, effective=1000, saved=1000)
321            >>> p.gids()
322            pgids(real=1000, effective=1000, saved=1000)
323            >>>
324            >>> p.cpu_times()
325            pcputimes(user=1.02, system=0.31, children_user=0.32, children_system=0.1, iowait=0.0)
326            >>> p.cpu_percent(interval=1.0)
327            12.1
328            >>> p.cpu_affinity()
329            [0, 1, 2, 3]
330            >>> p.cpu_affinity([0, 1])  # set
331            >>> p.cpu_num()
332            1
333            >>>
334            >>> p.memory_info()
335            pmem(rss=10915840, vms=67608576, shared=3313664, text=2310144, lib=0, data=7262208, dirty=0)
336            >>> p.memory_full_info()  # "real" USS memory usage (Linux, macOS, Win only)
337            pfullmem(rss=10199040, vms=52133888, shared=3887104, text=2867200, lib=0, data=5967872, dirty=0, uss=6545408, pss=6872064, swap=0)
338            >>> p.memory_percent()
339            0.7823
340            >>> p.memory_maps()
341            [pmmap_grouped(path='/lib/x8664-linux-gnu/libutil-2.15.so', rss=32768, size=2125824, pss=32768, shared_clean=0, shared_dirty=0, private_clean=20480, private_dirty=12288, referenced=32768, anonymous=12288, swap=0),
342             pmmap_grouped(path='/lib/x8664-linux-gnu/libc-2.15.so', rss=3821568, size=3842048, pss=3821568, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=3821568, referenced=3575808, anonymous=3821568, swap=0),
343             pmmap_grouped(path='[heap]',  rss=32768, size=139264, pss=32768, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=32768, referenced=32768, anonymous=32768, swap=0),
344             pmmap_grouped(path='[stack]', rss=2465792, size=2494464, pss=2465792, shared_clean=0, shared_dirty=0, private_clean=0, private_dirty=2465792, referenced=2277376, anonymous=2465792, swap=0),
345             ...]
346            >>>
347            >>> p.io_counters()
348            pio(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632, read_chars=456232, write_chars=517543)
349            >>>
350            >>> p.open_files()
351            [popenfile(path='/home/giampaolo/monit.py', fd=3, position=0, mode='r', flags=32768),
352             popenfile(path='/var/log/monit.log', fd=4, position=235542, mode='a', flags=33793)]
353            >>>
354            >>> p.connections(kind='tcp')
355            [pconn(fd=115, family=<AddressFamily.AF_INET: 2>, type=<SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=48776), raddr=addr(ip='93.186.135.91', port=80), status='ESTABLISHED'),
356             pconn(fd=117, family=<AddressFamily.AF_INET: 2>, type=<SocketType.SOCK_STREAM: 1>, laddr=addr(ip='10.0.0.1', port=43761), raddr=addr(ip='72.14.234.100', port=80), status='CLOSING')]
357            >>>
358            >>> p.num_threads()
359            4
360            >>> p.num_fds()
361            8
362            >>> p.threads()
363            [pthread(id=5234, user_time=22.5, system_time=9.2891),
364             pthread(id=5237, user_time=0.0707, system_time=1.1)]
365            >>>
366            >>> p.num_ctx_switches()
367            pctxsw(voluntary=78, involuntary=19)
368            >>>
369            >>> p.nice()
370            0
371            >>> p.nice(10)  # set
372            >>>
373            >>> p.ionice(psutil.IOPRIO_CLASS_IDLE)  # IO priority (Win and Linux only)
374            >>> p.ionice()
375            pionice(ioclass=<IOPriority.IOPRIO_CLASS_IDLE: 3>, value=0)
376            >>>
377            >>> p.rlimit(psutil.RLIMIT_NOFILE, (5, 5))  # set resource limits (Linux only)
378            >>> p.rlimit(psutil.RLIMIT_NOFILE)
379            (5, 5)
380            >>>
381            >>> p.environ()
382            {'LC_PAPER': 'it_IT.UTF-8', 'SHELL': '/bin/bash', 'GREP_OPTIONS': '--color=auto',
383            'XDG_CONFIG_DIRS': '/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg',
384             ...}
385            >>>
386            >>> p.as_dict()
387            {'status': 'running', 'num_ctx_switches': pctxsw(voluntary=63, involuntary=1), 'pid': 5457, ...}
388            >>> p.is_running()
389            True
390            >>> p.suspend()
391            >>> p.resume()
392            >>>
393            >>> p.terminate()
394            >>> p.kill()
395            >>> p.wait(timeout=3)
396            <Exitcode.EX_OK: 0>
397            >>>
398            >>> psutil.test()
399            USER         PID %CPU %MEM     VSZ     RSS TTY        START    TIME  COMMAND
400            root           1  0.0  0.0   24584    2240            Jun17   00:00  init
401            root           2  0.0  0.0       0       0            Jun17   00:00  kthreadd
402            ...
403            giampaolo  31475  0.0  0.0   20760    3024 /dev/pts/0 Jun19   00:00  python2.4
404            giampaolo  31721  0.0  2.2  773060  181896            00:04   10:30  chrome
405            root       31763  0.0  0.0       0       0            00:05   00:00  kworker/0:1
406            >>>
407
408        Further process APIs
409        --------------------
410
411        .. code-block:: python
412
413            >>> import psutil
414            >>> for proc in psutil.process_iter(['pid', 'name']):
415            ...     print(proc.info)
416            ...
417            {'pid': 1, 'name': 'systemd'}
418            {'pid': 2, 'name': 'kthreadd'}
419            {'pid': 3, 'name': 'ksoftirqd/0'}
420            ...
421            >>>
422            >>> psutil.pid_exists(3)
423            True
424            >>>
425            >>> def on_terminate(proc):
426            ...     print("process {} terminated".format(proc))
427            ...
428            >>> # waits for multiple processes to terminate
429            >>> gone, alive = psutil.wait_procs(procs_list, timeout=3, callback=on_terminate)
430            >>>
431
432        Popen wrapper:
433
434        .. code-block:: python
435
436            >>> import psutil
437            >>> from subprocess import PIPE
438            >>> p = psutil.Popen(["/usr/bin/python", "-c", "print('hello')"], stdout=PIPE)
439            >>> p.name()
440            'python'
441            >>> p.username()
442            'giampaolo'
443            >>> p.communicate()
444            ('hello\n', None)
445            >>> p.wait(timeout=2)
446            0
447            >>>
448
449        Windows services
450        ----------------
451
452        .. code-block:: python
453
454            >>> list(psutil.win_service_iter())
455            [<WindowsService(name='AeLookupSvc', display_name='Application Experience') at 38850096>,
456             <WindowsService(name='ALG', display_name='Application Layer Gateway Service') at 38850128>,
457             <WindowsService(name='APNMCP', display_name='Ask Update Service') at 38850160>,
458             <WindowsService(name='AppIDSvc', display_name='Application Identity') at 38850192>,
459             ...]
460            >>> s = psutil.win_service_get('alg')
461            >>> s.as_dict()
462            {'binpath': 'C:\\Windows\\System32\\alg.exe',
463             'description': 'Provides support for 3rd party protocol plug-ins for Internet Connection Sharing',
464             'display_name': 'Application Layer Gateway Service',
465             'name': 'alg',
466             'pid': None,
467             'start_type': 'manual',
468             'status': 'stopped',
469             'username': 'NT AUTHORITY\\LocalService'}
470
471        Projects using psutil
472        =====================
473
474        Here's some I find particularly interesting:
475
476        - https://github.com/google/grr
477        - https://github.com/facebook/osquery/
478        - https://github.com/nicolargo/glances
479        - https://github.com/Jahaja/psdash
480        - https://github.com/ajenti/ajenti
481        - https://github.com/home-assistant/home-assistant/
482
483        Portings
484        ========
485
486        - Go: https://github.com/shirou/gopsutil
487        - C: https://github.com/hamon-in/cpslib
488        - Rust: https://github.com/rust-psutil/rust-psutil
489        - Nim: https://github.com/johnscillieri/psutil-nim
490
491        Security
492        ========
493
494        To report a security vulnerability, please use the `Tidelift security
495        contact`_.  Tidelift will coordinate the fix and disclosure.
496
497        .. _`Giampaolo Rodola`: https://gmpy.dev/about
498        .. _`donation`: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A9ZS7PKKRM3S8
499        .. _Tidelift security contact: https://tidelift.com/security
500        .. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-psutil?utm_source=pypi-psutil&utm_medium=referral&utm_campaign=readme
501
502
503Keywords: ps,top,kill,free,lsof,netstat,nice,tty,ionice,uptime,taskmgr,process,df,iotop,iostat,ifconfig,taskset,who,pidof,pmap,smem,pstree,monitoring,ulimit,prlimit,smem,performance,metrics,agent,observability
504Platform: Platform Independent
505Classifier: Development Status :: 5 - Production/Stable
506Classifier: Environment :: Console
507Classifier: Environment :: Win32 (MS Windows)
508Classifier: Intended Audience :: Developers
509Classifier: Intended Audience :: Information Technology
510Classifier: Intended Audience :: System Administrators
511Classifier: License :: OSI Approved :: BSD License
512Classifier: Operating System :: MacOS :: MacOS X
513Classifier: Operating System :: Microsoft :: Windows :: Windows 10
514Classifier: Operating System :: Microsoft :: Windows :: Windows 7
515Classifier: Operating System :: Microsoft :: Windows :: Windows 8
516Classifier: Operating System :: Microsoft :: Windows :: Windows 8.1
517Classifier: Operating System :: Microsoft :: Windows :: Windows Server 2003
518Classifier: Operating System :: Microsoft :: Windows :: Windows Server 2008
519Classifier: Operating System :: Microsoft :: Windows :: Windows Vista
520Classifier: Operating System :: Microsoft
521Classifier: Operating System :: OS Independent
522Classifier: Operating System :: POSIX :: AIX
523Classifier: Operating System :: POSIX :: BSD :: FreeBSD
524Classifier: Operating System :: POSIX :: BSD :: NetBSD
525Classifier: Operating System :: POSIX :: BSD :: OpenBSD
526Classifier: Operating System :: POSIX :: BSD
527Classifier: Operating System :: POSIX :: Linux
528Classifier: Operating System :: POSIX :: SunOS/Solaris
529Classifier: Operating System :: POSIX
530Classifier: Programming Language :: C
531Classifier: Programming Language :: Python :: 2
532Classifier: Programming Language :: Python :: 2.6
533Classifier: Programming Language :: Python :: 2.7
534Classifier: Programming Language :: Python :: 3
535Classifier: Programming Language :: Python :: Implementation :: CPython
536Classifier: Programming Language :: Python :: Implementation :: PyPy
537Classifier: Programming Language :: Python
538Classifier: Topic :: Software Development :: Libraries :: Python Modules
539Classifier: Topic :: Software Development :: Libraries
540Classifier: Topic :: System :: Benchmark
541Classifier: Topic :: System :: Hardware :: Hardware Drivers
542Classifier: Topic :: System :: Hardware
543Classifier: Topic :: System :: Monitoring
544Classifier: Topic :: System :: Networking :: Monitoring :: Hardware Watchdog
545Classifier: Topic :: System :: Networking :: Monitoring
546Classifier: Topic :: System :: Networking
547Classifier: Topic :: System :: Operating System
548Classifier: Topic :: System :: Systems Administration
549Classifier: Topic :: Utilities
550Requires-Python: >=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
551Description-Content-Type: text/x-rst
552Provides-Extra: test
553