Nitro: Tiny but flexible init system and process supervisor
7 hours ago
- #init-system
- #linux-netbsd
- #process-supervisor
- nitro is a tiny process supervisor usable as pid 1 on Linux and NetBSD.
- Designed for embedded, desktop, server, initramfs, and container init.
- Configuration via /etc/nitro directory with scripts for setup, run, finish, and log.
- Supports reliable service restarting, logging chains, and works with read-only root.
- Efficient, event-driven, with zero memory allocations during runtime.
- Service states include DOWN, SETUP, STARTING, UP, ONESHOT, SHUTDOWN, RESTART, FATAL, DELAY.
- Control via nitroctl with commands like up, down, restart, and system shutdown/reboot.
- Supports parametrized services with templates ending in '@'.
- Self-contained, static binary suitable for containers; mounts /dev and /run as needed.
- Licensed under 0BSD, inspired by daemontools, runit, perp, and s6.