Skip to main content

TUI process monitor that groups processes by application

Project description

ptop3

PyPI version Python versions CI License: MIT

An htop-like TUI process monitor that groups processes by application.

Screenshots

Group view Main group view — processes grouped by application

Detail view Detail view — individual processes for a selected group

Tree view Tree view — process hierarchy within a group

Features

  • Groups processes by application name with smart alias resolution
  • Colored header with memory, swap, load-average badges
  • Sort by memory, CPU, RSS, swap, I/O, network, or count
  • Regex filter across app name, process name, and cmdline
  • Process tree view within a selected application group
  • Kill signals (SIGTERM / SIGKILL) for individual processes or entire groups
  • w key: clean swap by cycling swapoff/swapon (passwordless sudo)
  • d key: drop kernel caches (passwordless sudo)
  • Alerts for high CPU, memory, swap, disk usage, and zombie processes
  • Lite mode (--lite) for lower overhead on busy systems

Installation

pip install ptop3

Quick Start

ptop3                 # interactive TUI
python -m ptop3       # same via module
ptop3 --once          # print one-shot table and exit
ptop3 --filter python # filter to python processes

Sudo Setup

The w (swap-clean) and d (drop-caches) keys require root. Configure passwordless sudo once:

sudo ptop3 --init-subscripts

Or manually:

sudo visudo -f /etc/sudoers.d/ptop3
# Add:
# YOUR_USER ALL=(root) NOPASSWD: /path/to/ptop3-drop-caches
# YOUR_USER ALL=(root) NOPASSWD: /path/to/ptop3-swap-clean

Check sudo status:

ptop3 --check-sudo

CLI Reference

Flag Default Description
--once off Print one-shot table and exit
-f/--filter REGEX Filter by app/name/cmdline
-s/--sort KEY mem Sort key: mem, cpu, rss, swap, io, net, count
-n/--top N 15 Rows to show in --once mode
--refresh SECS 2.0 Refresh interval
--lite off Lite mode: skip cmdline/IO for tiny procs
--check-sudo Check sudo config for subscripts
--init-subscripts Write /etc/sudoers.d/ptop3

Key Bindings

Key Action
↑/↓ or j/k Move selection
PgUp/PgDn Page up/down
Home/End Jump to first/last
Enter or l Expand group to detail view
h Back to group view
t Toggle process tree (detail view)
s Cycle sort key
f Enter filter regex
r Reset filter
+/- Increase/decrease refresh interval
k/K Send SIGTERM/SIGKILL to selected
g Kill whole group (SIGTERM)
w Run swap-clean
d Drop caches
q or Ctrl-C Quit

Subscripts

The privileged subscripts can also be run directly:

ptop3-drop-caches --help
ptop3-drop-caches --level 1 --dry-run

ptop3-swap-clean --help
ptop3-swap-clean --safety-mb 256 --dry-run

Development

git clone https://github.com/yourusername/ptop3
cd ptop3
pip install -e ".[dev]"
pytest
ruff check ptop3/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ptop3-0.1.2.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ptop3-0.1.2-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file ptop3-0.1.2.tar.gz.

File metadata

  • Download URL: ptop3-0.1.2.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ptop3-0.1.2.tar.gz
Algorithm Hash digest
SHA256 067721ab02ecc193d50c438c656fbbd6af921e14d40657cf484bfad4b81d334b
MD5 a5b084eef27896f98b0924c3fe82997e
BLAKE2b-256 7c3b92bae040000b96df55905a40ce7c838ef3962ad3e09faf2951e4e286277a

See more details on using hashes here.

File details

Details for the file ptop3-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: ptop3-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ptop3-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 21976bc1aebc7e59087aa6e010aaf1186b405c61d195da8f61023285c7f3afa5
MD5 f1ade6b171bf79dc5ddbfbc9d14dd3b1
BLAKE2b-256 e0830394c793d9d8e91bc6687c709cd5751fac4670d3fce6e111f0cb799070bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page