mirror of
https://github.com/troglobit/finit.git
synced 2026-10-01 05:22:48 +07:00
e0f9df1f273e49ed8955c9e94072b011d9fca4e2
Every test left a stray `sleep 300` behind, reparented to PID 1, where it lingered for up to five minutes after the test had finished. wdstart() runs the watchdog in a subshell, so $! is the pid of the subshell, not of the sleep it forks. wdkill() killed the subshell and orphaned the sleep. Kill the child first, killing the subshell puts the sleep beyond the reach of pkill -P. Neither kill is sure to match, and wdkill() runs from the EXIT trap under set -e, so both must tolerate failure. Also return early when wdpid is unset, for failures before wdstart() runs. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Finit is a fast, simple alternative to SysV init and systemd, designed for small and embedded Linux systems. It can also run on desktop and server systems, like finix.
Reverse engineered from the EeePC fastinit
"gaps filled with frog DNA …"
— Claudio Matsuoka
For detailed information, explore our extensive documentation
📚 http://finit-project.github.io
For working examples, see the 🚀 contrib/ section or these tutorials:
- 🛠️ Buildroot embedded Linux,
- 📦 Debian GNU/Linux,
- ⛰️ Alpine Linux, and
- 🌌 Void Linux
Note
Finit can run on various Linux distributions, but the bundled install scripts are examples only. They have been tested on amd64 (x86_64) systems with standard configurations.
For embedded systems, see these Buildroot-based examples: myLinux, Infix, or br2-finit-demo.
Languages
C
84.3%
Shell
11.9%
Makefile
2.1%
M4
1.7%

