runit(8)
π runit π
okay so bestie, this is the runit(8) page from the System Manager's Manual β manual name folded in right at the top, no boring copy-paste header. And the vibe? runit is a UNIX process no 1. That's the whole brand. π
β¨ NAME β¨
runitβ a UNIX process no 1. Iconic, concise, no notes. π
π¦ SYNOPSIS π¦
runit
literally that's the whole invocation, bestie. π«Ά
πΈ DESCRIPTION πΈ
okay so here's the tea: runit must be run as Unix process no 1. It performs the system's booting, running, and shutdown in three stages. Three stages, three vibes, all main character energy. π
π STAGE 1 π
runit runs /etc/runit/1 and waits for it to terminate. The system's one time tasks are done here. /etc/runit/1 has full control of /dev/console to be able to start an emergency shell if the one time initialization tasks fail. π¨
If /etc/runit/1 crashes, or exits 100, runit will skip stage 2 and enter stage 3. No cap, that's the rule. π
π₯ STAGE 2 π₯
runit runs /etc/runit/2, which should not return until system shutdown. If it crashes, or exits 111, it will be restarted. π
Normally /etc/runit/2 starts runsvdir(8). runit is able to handle the ctrl-alt-del keyboard request in stage 2 β see below, bestie. π
π STAGE 3 π
If runit is told to shutdown the system, or stage 2 returns, it terminates stage 2 if it is running, and runs /etc/runit/3. The systems tasks to shutdown and possibly halt or reboot the system are done here. π€
If stage 3 returns, runit checks if the file /etc/runit/reboot exists and has the execute by owner permission set. If so, the system is rebooted, it's halted otherwise. π
If /etc/runit/nosync exists, runit doesn't invoke sync(). This is useful in vservers. β¨
π CTRL-ALT-DEL π
If runit receives the ctrl-alt-del keyboard request and the file /etc/runit/ctrlaltdel exists and has the execute by owner permission set, runit runs /etc/runit/ctrlaltdel, waits for it to terminate, and then sends itself a CONT signal. That's the whole sequence, bestie. π«Ά
β SIGNALS β
π¨ important caveat: runit only accepts signals in stage 2. Do not expect it to answer the phone in stages 1 or 3. π
If runit receives a CONT signal and the file /etc/runit/stopit exists and has the execute by owner permission set, runit is told to shutdown the system. π
If runit receives an INT signal, a ctrl-alt-del keyboard request is triggered. β¨οΈπ₯
π¦ SEE ALSO π¦
also the link, exactly: https://smarden.org/runit/ β go click it, iykyk. π
π AUTHOR π
Gerrit Pape <pape@smarden.org> β the author, periodt. π
and that's the whole runit(8) page from the System Manager's Manual β the source/version footer is just the runit(8) manual name, and the original doesn't give a separate date line, so this is the cute sign-off instead, bestie. π
β¨
π¦ where this page comes from
- alpine 3.24: runit-doc 2.3.1-r0 Β· BSD
- nixpkgs unstable: runit 2.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms