start
Launch managed processes in one of three modes:- manifest services (
sysg start) - units (
sysg start <command...>) - child units (
sysg start --child --parent-pid <pid> -- <command...>)
Options
--config
Path to the configuration file. If not specified, systemg looks for systemg.yaml or sysg.yaml in the current directory.
--service
Optionally start only the named service instead of all services.
--name
Optional name for units or child-start units.
--daemonize
Run the supervisor as a background daemon. The supervisor continues running after you close your terminal, and subsequent commands communicate with it via Unix socket.
--parent-pid
Run start in child mode by attaching the process to a parent service PID.
--ttl
Optional time-to-live in seconds for child mode.
--child
Explicit child-mode marker. Requires --parent-pid.
--sys
Opt into privileged system mode. Requires running as root.
--drop-privileges
Drop child service privileges during spawn. When enabled in root/system mode,
services without an explicit user run as nobody.
--stderr
Pipe stderr output from supervised processes to stdout. In foreground mode, stderr from all services is redirected to stdout with [service_name:stderr] prefix.
--stderr flag is particularly useful for:
- Development: See error output immediately while debugging
- CI/CD Pipelines: Capture all output in a single stream
- Real-time Monitoring: Watch for errors as they happen
~/.local/share/systemg/logs/.
:::
--log-level
Set logging verbosity for this invocation. Accepts named levels (trace, debug, info, warn, error, off) or numeric values (5-0).
Examples
Start with default configuration
systemg.yaml or sysg.yaml in the current directory.
Start with specific configuration
Daemon mode
Run the supervisor in the background. Subsequent commands communicate with this long-lived process.Debug mode
See detailed output during startup:Capture stderr in foreground
Useful for development and debugging:Unit mode (no config file)
~/.local/share/systemg/units/ and prints an explicit restart command.
It does not restart the supervisor implicitly.
Child mode for orchestrators (replacement for spawn)
What happens
- Manifest mode starts services in dependency order
- Unit mode creates a single managed unit from the command
- Child mode attaches a managed child to the parent process tree
- Logs are written to
~/.local/share/systemg/logs/ - PIDs are tracked for other commands