Systemd Manager
A simple TUI-based systemd service manager written in Go.
Features
- Service Details: Get detailed information about a service, including:
- Status: Active, inactive, or failed.
- Memory Usage: Human-readable memory consumption (e.g., 512 MB).
- CPU Usage: CPU usage as a percentage.
- Enabled State: Whether the service is enabled or disabled.
- Filter Services: Search and filter services by name in real-time.
- Start, Stop, and Restart Services: Control services directly from the TUI using keybindings.
- Custom Service List: Load a custom list of services from a JSON file.
- Interactive TUI: Navigate and interact with services using keyboard shortcuts.
Installation
You can install the sysdmon
CLI tool using go install
:
go install github.com/rahulmysore23/sysdmon@latest
Alternatively, you can download pre-built binaries from the Releases page.
Usage
Note: Run with sudo
Default Mode (List All Services)
sysdmon
Custom Mode (Load Services from JSON File)
Create a JSON file (config.json
) with the list of services to display:
{
"services": [
"nginx.service",
"docker.service",
"ssh.service"
]
}
Run the tool with the -config
flag:
sysdmon -config /path/to/config.json
Keybindings
- Ctrl+S: Start the selected service.
- Ctrl+T: Stop the selected service.
- Ctrl+R: Restart the selected service.
- Ctrl+F: Focus on the search bar.
- Enter: Return focus to the services list.
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.