.Dd October 8, 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 in milliseconds for which the child process must live before the restart interval is reset to its initial value. The default interval is 15 minutes. .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 in milliseconds between automatic restarts. This interval is doubled each time the child process is restarted. The default interval is 1 second. .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