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
:::info
The
--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
logs.sink: file.
:::
Examples
Start with default configuration
systemg.yaml or sysg.yaml in the current directory.
Start with specific configuration
Foreground mode
Without--daemonize, the terminal attaches to the selected project. Boot
progress updates in place, and output from every running service is multiplexed
with a per-service prefix. Ctrl-C stops only that project and returns the
terminal; the resident supervisor and other projects remain running.
Daemon mode
Start without retaining a terminal attachment. The command returns after the project reaches its target state; subsequent commands use the same resident supervisor.Debug mode
See detailed output during startup:Capture stderr in foreground
Useful for development and debugging:Unit mode (no config file)
Unit mode is for ad-hoc commands you want systemg to manage without writing a project manifest first:With no supervisor, the staged manifest starts a supervisor and the unit runs
immediately. With a resident supervisor, staging does not alter live state:
no process starts until you run the explicit
sysg start --config ...
command printed by systemg.Child mode for orchestrators (replacement for spawn)
What happens
- Manifest mode validates the complete graph and starts dependencies first
- Unit mode creates a single managed unit from the command
- Child mode attaches a managed child to the parent process tree
- Service output follows the configured
logs.sinkpolicy - PIDs, process groups, lifecycle state, and cron history are tracked by project

