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