A terminal user interface (TUI) for managing Procfile-based applications. procman allows you to monitor, search, and interact with multiple processes simultaneously in a single dashboard.
- Procfile Support: Automatically loads and manages processes defined in your
Procfile. - Interactive Terminal: Full VT100 terminal emulation for interacting with processes (perfect for debuggers like
gdborlldb). - Log Management:
- Real-time log streaming with ANSI color support.
- Search through logs with highlighting.
- Filter logs to focus on specific output.
- Process Control: Start, stop, and restart individual processes with single keybindings.
- Flexible Layout: Toggle between a grid view of all processes and a fullscreen view for deep dives.
For now, you can install procman via Cargo:
cargo install proc-manOr with the official script (Linux and MacOS for the momment):
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/a-chacon/procman/releases/latest/download/proc-man-installer.sh | sh
-
Ensure you have a
Procfilein your project root. -
Run
procman:procman
Or specify a custom path to your
Procfile:procman ./path/to/my/Procfile
To use procman as a drop-in replacement for Foreman in your Rails application, replace the contents of your bin/dev script with the following. This script automatically checks if procman is installed and installs it via the official installer if missing:
#!/usr/bin/env sh
# Check if procman is installed; if not, install it automatically
if ! command -v procman >/dev/null 2>&1; then
echo "procman not found. Installing..."
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/a-chacon/procman/releases/latest/download/proc-man-installer.sh | sh
fi
# Default to port 3000 if not specified
export PORT="${PORT:-3000}"
# Start processes via procman
exec procman Procfile.dev "$@"procman is designed to be intuitive and fast. Inspired by tools like btop, you can perform actions by simply pressing the bolded letter displayed in each label on the screen.
- interactive: Enter interactive mode to talk to the process (e.g., a debugger). Press
Ctrl-Ato exit. - fullscreen / Enter: Expand the selected process to fill the screen.
- search: Find and highlight specific text in the logs.
- filter: Hide lines that don't match your criteria.
- start: Start a stopped process.
- stop: Terminate a running process.
- restart: Quickly stop and start the process.
- q / Ctrl-C: Exit
procman.
Navigation is handled via arrow keys or hjkl. You can also jump directly to a process by pressing its corresponding number 1-9.
This project is licensed under the GNU General Public License v3.0.
By using this software, you agree to the terms outlined in the license.


