Process tree visualizer and signal controller with systemd slice grouping for the openOODA era.
A drop-inps/pstreealternative written in pure openOODA, featuring native systemd slice classification (system.slice,user.slice), hierarchical tree visualization, capability-gated signal dispatch (ProcessCap), and a streaming Model Context Protocol (MCP) server.
Part of openOODA-tools.
oops has zero runtime dependencies. It compiles to a standalone native binary linked directly with libc.
Installs the standalone native binary to /usr/local/bin (or ~/.local/bin):
curl -fsSL https://openooda-tools.github.io/oops/install.sh | bash# Automated via installer
curl -fsSL https://openooda-tools.github.io/oops/install.sh | bash -s -- --apt
# Or manual package install
sudo dpkg -i oops_0.2.0-1_amd64.deb# Automated via installer
curl -fsSL https://openooda-tools.github.io/oops/install.sh | bash -s -- --dnf
# Or manual RPM install
sudo dnf install ./oops-0.2.0-1.*.x86_64.rpm# Automated via installer
curl -fsSL https://openooda-tools.github.io/oops/install.sh | bash -s -- --arch
# Or manual build via packaging/PKGBUILD
cd packaging && makepkg -siTo cleanly remove oops and any installed package manager entries:
# Automated via standalone uninstaller
curl -fsSL https://openooda-tools.github.io/oops/uninstall.sh | bash
# Or via installer flag
curl -fsSL https://openooda-tools.github.io/oops/install.sh | bash -s -- --uninstall
# Or preview removal without making changes (dry-run)
curl -fsSL https://openooda-tools.github.io/oops/uninstall.sh | bash -s -- --dry-runView processes organized hierarchically with branch glyphs and systemd slice badges:
# Render complete process tree (default)
oops
# Explicit tree mode
oops -t
# Render tree with ASCII connectors (|--, \--)
oops --ascii
# Flat table view
oops -l
# Target specific process subtree or PID
oops -p 1
# Filter processes belonging to systemd system slice
oops -s system
# Filter processes belonging to user sessions
oops -s user
# Suppress ANSI color output
oops --no-color
# Search processes by name
oops sshdSend POSIX signals safely under ProcessCap:
# Send SIGTERM (default) to process
oops -k TERM -p 1234
# Send SIGKILL
oops -k KILL -p 1234oops features a native Model Context Protocol (MCP) stdio server allowing AI pair programmers and LLM coding assistants to inspect and manage running tasks:
oops --mcpprocess_tree: Returns structured process tree or table (format:tree,table,json; optionalslicefilter).find_process: Finds processes matching a given name or substring, includingrss_kbmemory metrics.process_details: Returns complete metadata for a target PID (pid,ppid,comm,state,slice,rss_kb,threads,cgroup_path,cmdline).send_signal: Dispatches POSIX signals to a target PID under explicit capability authorization with strict positive PID validation.
Apache License 2.0. See LICENSE for details.