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