
Get process information straight from bash, minimal dependencies.
A portable process inspector for Linux and macOS. Get details about any running process instantly!
Also see procinfo_minimal.sh - pure sh implementation of procinfo.
curl -fsSL https://raw.githubusercontent.com/wenekar/procinfo/main/procinfo.sh -o procinfo
chmod +x procinfo
sudo mv procinfo /usr/local/bin/
Or just copy the script. It's a bash script with no dependencies beyond standard Unix tools (ps, lsof, pgrep). Or better yet, copy parts of it, combine them, make one script that satisfies your specific needs!
procinfo nginx matches Nginx, NGINX, etc.fzf is kinda awesome! Beware, this is not a top replacement, it's meant to be used to see open ports, not all processes.procinfo:
Optional dependencies:
procinfo_minimal:
# Interactive TUI mode (requires fzf)
procinfo --tui
# By process name
procinfo nginx
# By port
procinfo --port 3306
# By PID
procinfo --pid 1234
# One-line output
procinfo --short nginx
# JSON output (requires jq)
procinfo --json nginx
Target : godot
Process : godot.linuxbsd. (pid 234167)
User : wenekar
Command : ./bin/godot.linuxbsd.editor.x86_64 --verbose
Started at : Wed Dec 31 19:12:10 2025
Running for : 1 minute, 6 seconds
RSS Memory : 330 MB
Process tree:
systemd (pid 1) → systemd (pid 1141) → konsole (pid 1725) → fish (pid 233851) → godot.linuxbsd. (pid 234167)
Source : interactive fish shell
git info : godot (fix-libdecor-ssd-fallback) - [email protected]:wenekar/godot.git
Working Dir : /mnt/Sandisk480/GitHub/godot
Open files : /memfd:kwin-xkb-keymap-shared
/memfd:wayland-cursor
When inspecting a port bound to a Docker container:
Target : port 6379
Process : docker-proxy (pid 31782)
User : root
Command : /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 6379 -container-ip 172.18.0.2 -container-port 6379 -use-listen-fd
Started at : Wed Dec 31 01:45:01 2025
Running for : 17 hours, 28 minutes, 39 seconds
RSS Memory : 6 MB
Process tree:
systemd (pid 1) → dockerd (pid 25817) → docker-proxy (pid 31782)
Source : container runtime
git info : not found
Working Dir : /
Listening : *:6379
Docker info :
Container : redis (463ab2f88502)
Image : redis
Compose : backend_test (/home/wenekar/backend_test/docker-compose.yml)
Internal : 172.18.0.2:6379
Docker cheatsheet:
docker logs redis
docker exec -it redis sh
docker top redis
docker ps //see all containers
I saw an ad on TikTok about a project called witr, link to said TikTok video.
Then I thought to myself, who is the target user? Who is that binary for? Isn't this just a bash wrapper of ps -p?
Thus came procinfo, turns out, I am that target user. Also see issue 32.
MIT
| Option | Description |
|---|
-p, --port <port> | Find process listening on port |
-P, --pid <pid> | Inspect specific PID |
-a, --all-ports | List all listening ports |
-t, --tui | Interactive TUI mode (requires fzf) |
-s, --short | One-line output (just the process chain) |
-j, --json | JSON output (requires jq) |
-d, --description | Wait for process description (slow on macOS) |
--no-color | Disable colored output |
-h, --help | Show help |
-v, --version | Show version |