CODESEEDSign in
Explore projects
Gobeginnerdevops

Process Supervisor

Process supervisor in Go (inspired by supervisord): starts/stops/restarts processes defined in config, with log routing and health checks.

5 steps

Project steps

  1. 01

    Config YAML

    programs.yaml: name, command, autostart, autorestart, stdout_logfile.

  2. 02

    Process lifecycle

    Start, stop (SIGTERM→SIGKILL with timeout), restart with delay.

  3. 03

    Log routing

    stdout/stderr of processes redirected to log files with rotation.

  4. 04

    CLI control

    supervisorctl-equivalent: start/stop/restart/status <name>.

  5. 05

    Auto-restart

    On unexpected crash, restart with exponential backoff (max 5 retries).

Recommended resources

Ready to build this?

Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.

5 steps

Tech stack

Goos/execgopkg.in/yaml.v3cobra