A powerful terminal-based process manager for macOS, Linux, and Windows written in Go using Bubble Tea for the UI and gopsutil for cross-platform process information.
- Real-time process monitoring with auto-refresh
- Cross-platform support (macOS, Linux, Windows)
- Detailed process information (PID, name, status, CPU%, memory%, user, threads, etc.)
- Process filtering by CPU usage, memory usage, status, user, and search terms
- Advanced sorting by CPU, memory, PID, name, or status
- System process toggle to show/hide system processes
- Kill processes with confirmation
- Process details view with comprehensive information
- Process search by name or PID
- Process tree visualization (parent-child relationships)
- Process statistics and reporting
- JSON-based data storage for process snapshots
- Automatic backups with configurable retention
- Data export in JSON and CSV formats
- Configuration management with YAML files
- Cross-platform data persistence
The application follows a modular architecture:
tappmanager/
├── cmd/ # Entry point
├── internal/
│ ├── app/ # Application core
│ ├── ui/ # User interface
│ │ ├── views/ # Different UI views
│ │ └── components/ # Reusable components
│ ├── models/ # Data models
│ ├── storage/ # Data persistence
│ ├── services/ # Business logic
│ └── utils/ # Utility functions
├── config/ # Configuration files
└── data/ # Data storage
- Go 1.24+
- Terminal supporting modern TUI features
- Bubble Tea framework for terminal UI
git clone <repository-url>
cd tappmanager
go mod tidy
go build -o tappmanager./tappmanager- Ctrl+P - Switch to Processes view
- Ctrl+D - Switch to Details view
- Ctrl+S - Switch to Statistics view
- Ctrl+H - Show help
- Ctrl+Q - Quit application
- Ctrl+R - Refresh process list
- Ctrl+K - Kill selected process
- Ctrl+D - Show process details
- Ctrl+F - Filter processes
- Ctrl+S - Toggle system processes
- Ctrl+E - Export process list
- Ctrl+B - Create backup
- Ctrl+O - Sort by CPU usage
- Ctrl+M - Sort by memory usage
- Ctrl+P - Sort by PID
- Ctrl+N - Sort by name
- Ctrl+T - Sort by status
- Ctrl+R - Refresh process details
- Ctrl+K - Kill selected process
- ↑/↓ - Select previous/next process
- Ctrl+F - Search processes
- Ctrl+R - Refresh statistics
- Ctrl+E - Export statistics
Configuration is stored in ~/.tappmanager/config.yaml:
data_dir: "~/.tappmanager"
theme: "default"
refresh_rate: 2
auto_backup: true
backup_count: 10
show_system: false
auto_refresh: trueAll data is stored in JSON format in the configured data directory:
config.json- Application configurationprocess_snapshot.json- Current process snapshotbackups/- Automatic backup files
This process manager works seamlessly across:
- macOS - Full process monitoring and management
- Linux - Complete system process visibility
- Windows - Native process handling and monitoring
The application automatically adapts to each platform's process management capabilities and system APIs.