#process-manager #service #set

bin+lib systemg

A simple process manager

3 releases (breaking)

new 0.3.0 Mar 5, 2025
0.2.0 Mar 5, 2025
0.1.0 Feb 28, 2025

#255 in Configuration

Download history

90 downloads per month

MIT license

395KB
552 lines

systemg

CI

⚑ 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

1️⃣ Install Systemg

cargo install systemg

Dependencies

~10–20MB
~291K SLoC