Runlevels
Service dependencies
The runit program
The runit-init program
The sv program
The runsvdir program
The runsvchdir program
The runsv program
The svlogd program
The chpst program
The utmpset program
runit performs the system's booting, running and shutting down in three stages:
The program runit-init is intended to replace /sbin/init. The command init 0 tells runit to halt the system, and init 6 to reboot. Runlevels are handled through the runsvdir and runsvchdir programs. Service dependencies are resolved automatically.
runit is optimized for reliability and small size. The amount of code in process no 1 should be minimal.
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 20 16 ? S 2002 0:02 runitI recommend doing this; for instructions, see How to use dietlibc.
# strings /proc/1/exe |grep Id
$Id: runit.c,v 1.7 2002/02/13 09:59:52 pape Exp $
# uptime
11:59:13 up 365 days, 23:22, 3 users, load average: 0.01, 0.02, 0.00
# ps axuw |head -n20
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 20 16 ? S 2002 0:07 runit
root 2 0.0 0.0 0 0 ? SW 2002 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SWN 2002 0:51 [ksoftirqd_CPU0]
root 4 0.0 0.0 0 0 ? SW 2002 144:38 [kswapd]
root 5 0.0 0.0 0 0 ? SW 2002 0:08 [bdflush]
root 6 0.0 0.0 0 0 ? SW 2002 7:24 [kupdated]
root 168 0.0 0.0 1652 168 ? S 2002 0:27 /usr/sbin/cron
root 174 0.0 0.0 36 24 ? S 2002 1:06 runsvdir /var/service log: ...............................................................................................
root 176 0.0 0.0 20 20 ? S 2002 0:00 runsv qmail-send
root 177 0.0 0.0 20 20 ? S 2002 0:00 runsv getty-5
root 178 0.0 0.0 20 20 ? S 2002 0:00 runsv getty-4
root 179 0.0 0.0 20 20 ? S 2002 0:00 runsv getty-3
root 180 0.0 0.0 20 20 ? S 2002 0:00 runsv getty-2
root 182 0.0 0.0 20 20 ? S 2002 0:00 runsv socklog-unix
root 183 0.0 0.0 1256 4 tty5 S 2002 0:00 /sbin/getty 38400 tty5 linux
root 184 0.0 0.0 1256 4 tty3 S 2002 0:00 getty 38400 tty3 linux
root 185 0.0 0.0 20 20 ? S 2002 0:00 runsv socklog-klog
root 186 0.0 0.0 20 20 ? S 2002 0:00 runsv ssh
root 187 0.0 0.0 1256 4 tty4 S 2002 0:00 getty 38400 tty4 linux
# pstree
runit-+-bdflush
|-cron
|-gcache
|-keventd
|-ksoftirqd_CPU0
|-kswapd
|-kupdated
`-runsvdir-+-runsv-+-multilog
| `-qmail-send-+-qmail-clean
| |-qmail-lspawn
| `-qmail-rspawn---qmail-remote
|-4*[runsv---getty]
|-2*[runsv-+-multilog]
| `-socklog]
|-runsv-+-multilog
| `-sshd-+-sshd---sshd---bash---bash---pstree
| `-sshd---sshd---rsync
|-runsv---clockspeed
|-runsv-+-dnscache
| `-multilog
|-runsv---apache-ssl-+-9*[apache-ssl]
| |-gcache
| `-4*[multilog]
|-7*[runsv-+-multilog]
| `-tcpserver]
|-4*[runsv-+-multilog]
| `-tinydns]
|-runsv---uncat
|-2*[runsv-+-multilog]
| `-tcpsvd]
|-runsv-+-svlogd
| `-tcpsvd-+-smtpfront-qmail
| `-smtpfront-qmail---qmail-queue
`-runsv-+-svlogd
`-tcpsvd---bincimap-up---bincimapd