.Dd October 10, 2023 .Dt KITD 8 .Os . .Sh NAME .Nm kitd .Nd process supervisor . .Sh SYNOPSIS .Nm .Op Fl d .Op Fl c Ar cooloff .Op Fl n Ar name .Op Fl t Ar restart .Ar command ... . .Sh DESCRIPTION The .Nm daemon supervises a child process, redirecting its standard output and standard error to .Xr syslog 3 . When the child process exits, it is automatically restarted using exponential backoff. . .Pp The options are as follows: .Bl -tag -width Ds .It Fl c Ar cooloff The interval for which the child process must live before the restart interval is reset to its initial value. .Pp The interval may have a suffix of .Sy s , m , h or .Sy d for seconds, minutes, hours or days, respectively. Otherwise, the interval is in milliseconds. .Pp The default cooloff interval is .Sy 15m . .It Fl d Do not daemonize. Log to standard error as well as .Xr syslog 3 . .It Fl n Ar name Set the name of the process and the logging prefix. The default is the last path component of .Ar command . .It Fl t Ar restart The initial interval between automatic restarts. This interval is doubled each time the child process is restarted. .Pp The interval is interpreted as with .Fl c . The default restart interval is .Sy 1s . .El . .Pp .Nm responds to the following signals: .Bl -tag -width Ds .It Dv SIGTERM | Dv SIGINT The signal is forwarded to the child process. .Nm exits. .It Dv SIGINFO The status of the child process is logged. .It Dv SIGHUP | Dv SIGUSR1 | Dv SIGUSR2 The signal is forwarded to the child process. .El . .Sh EXAMPLES To set up supervisors for .Xr pounce 1 : .Bd -literal # ln -s kitd /etc/rc.d/pounce_tilde # ln -s kitd /etc/rc.d/pounce_libera # rcctl enable pounce_tilde pounce_libera # rcctl set pounce_tilde user _pounce # rcctl set pounce_tilde flags pounce -h irc.tilde.chat defaults.conf # rcctl set pounce_libera user _pounce # rcctl set pounce_libera flags pounce -h irc.libera.chat defaults.conf # rcctl start pounce_tilde pounce_libera .Ed . .Sh AUTHORS .An June McEnroe Aq Mt june@causal.agency