Hasty Briefsbeta

Nitro: A tiny but flexible init system and process supervisor

a day ago
  • #init-system
  • #linux
  • #process-supervisor
  • Nitro is a tiny process supervisor and init system for Linux, suitable for embedded, desktop, server, initramfs, and container use.
  • It is configured via a directory of scripts, typically `/etc/nitro`, and supports reliable service restarting and logging.
  • Nitro is event-driven, efficient, and requires no configuration compilation, making it ideal for read-only root file systems.
  • Services are defined by directories containing optional `setup`, `run`, `finish`, and `log` scripts, with special services like `LOG` and `SYS` for logging and system management.
  • Parametrized services allow dynamic service creation, and nitro can be controlled via `nitroctl` or signals.
  • Nitro supports FreeBSD and can be used in Docker containers, with features like orderly shutdown and reboot.
  • It is a self-contained binary with zero memory allocations during runtime, making it highly efficient.
  • The project is licensed under the 0BSD license and is inspired by systems like daemontools, runit, and s6.