Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
systemg
Systemg - A Lightweight Process Manager
Systemg is a simple, fast, and dependency-free process manager written in Rust.
It aims to provide a minimal alternative to systemd and other heavyweight service managers, focusing on ease of use, clarity, and performance.
Why Systemg?
Traditional process managers like systemd are complex, heavy, and introduce unnecessary dependencies.
Systemg offers a lightweight, configuration-driven solution that's easy to set up and maintain.
Features
- Declarative YAML Configuration - Define services, dependencies, and restart policies easily.
- Automatic Process Monitoring - Restart crashed services based on custom policies.
- Environment Variable Support - Load variables from
.env
files and per-service configurations. - Minimal & Fast - Built with Rust, designed for performance and low resource usage.
- No Root Required - Unlike systemd, it doesn't take over PID 1.
Comparison vs Alternatives
Feature | Systemg | systemd | Supervisor | Docker Compose |
---|---|---|---|---|
Lightweight | Yes | No (Heavy) | No (Python) | No (Containers) |
No Dependencies | Yes | No (DBus, etc.) | No (Python) | No (Docker) |
Simple Config | YAML | Complex Units | INI | YAML |
Process Monitoring | Yes | Yes | Yes | Yes |
PID 1 Required? | No | Yes | No | No |
Handles Dependencies? | Yes | Yes | No | Yes |
Getting Started
Installation
Install systemg using cargo:
Or download the pre-built binary from the releases page.
Basic Commands
The sysg
command-line interface provides several subcommands for managing processes.
Start
Start the process manager with the given configuration:
# Start with default configuration file (systemg.yaml)
# Start with a specific configuration file
# Start as a daemon process
Stop
Stop the process manager or a specific service:
# Stop all services
# Stop a specific service
Restart
Restart the process manager:
# Restart with current configuration
# Restart with a different configuration
Status
Check the status of running services:
# Show status of all services
# Show status of a specific service
Logs
View logs for a specific service:
# View the last 50 lines of logs for all services
# View logs for a specific service
# View a custom number of log lines
Testing
To run the test suite:
# Run all tests
# Run specific test
Build from Source
To build systemg from source:
# Clone the repository
# Build the project
# The binary will be available at target/release/sysg
Contributing
Contributions to systemg are welcome! Please see the CONTRIBUTING.md file for guidelines.