commit b626c9c8691d37dfbd4d21a39210def7eb83fca6
parent 4a75ad1fc91030fae5325cfd38546836f2d96ed2
Author: Gerrit Pape <pape@smarden.org>
Date: Tue, 23 Sep 2003 08:13:27 +0000
html.
Diffstat:
M | doc/chpst.8.html | | | 213 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/runit-init.8.html | | | 109 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/runit.8.html | | | 119 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/runsv.8.html | | | 223 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | doc/runsvchdir.8.html | | | 91 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/runsvctrl.8.html | | | 177 | +++++++++++++++++++++++++++++++++++++++---------------------------------------- |
M | doc/runsvdir.8.html | | | 111 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/runsvstat.8.html | | | 115 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/svlogd.8.html | | | 351 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/svwaitdown.8.html | | | 139 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/svwaitup.8.html | | | 123 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
M | doc/utmpset.8.html | | | 105 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
12 files changed, 942 insertions(+), 934 deletions(-)
diff --git a/doc/chpst.8.html b/doc/chpst.8.html
@@ -1,126 +1,127 @@
-<HTML>
-<HEAD>
-<TITLE>chpst(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
-
-<H2><A NAME="sect0">Name</A></H2>
+<html>
+<head>
+<title>chpst(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
+
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
chpst - runs a program with a changed process state
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>chpst</B> [-vP012]
-[-u <I>user</I>] [-U <I>user</I>] [-e <I>dir</I>] [-l|-L <I>lock</I>] [-m <I>bytes</I>] [-o <I>n</I>] [-p <I>n</I>] [-f <I>bytes</I>] [-c
-<I>bytes</I>] <I>prog</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>prog</I> consists of one or more arguments. <P>
-<B>chpst</B> changes
-the process state according to the given options, and runs <I>prog</I>.
-<H2><A NAME="sect3">Options</A></H2>
-
-<DL>
-
-<DT><B>-u
-<I>user[:group]</B> </I></DT>
-<DD>setuidgid. Set uid and gid to the <I>user</I>'s uid and gid. If <I>user</I>
-is followed by a colon and a <I>group</I>, set the gid to <I>group</I>'s gid instead of
-<I>user</I>'s gid. All supplementary groups are removed. </DD>
-
-<DT><B>-U <I>user[:group]</B> </I></DT>
-<DD>envuidgid.
-Set the environment variables $UID and $GID to the <I>user</I>'s uid and gid. If
-<I>user</I> is followed by a colon and a <I>group</I>, set $GID to the <I>group</I>'s gid instead
-of <I>user</I>'s gid. </DD>
-
-<DT><B>-e <I>dir</B> </I></DT>
-<DD>envdir. Set various environment variables as specified
-by files in the directory <I>dir</I>: If <I>dir</I> contains a file named <I>k</I> whose first
-line is <I>v</I>, <B>chpst</B> removes the environment variable <I>k</I> if it exists, and then
-adds the environment variable <I>k</I> with the value <I>v</I>. The name <I>k</I> must not contain
-=. Spaces and tabs at the end of <I>v</I> are removed, and nulls in <I>v</I> are changed
-to newlines. If the file <I>k</I> is empty (0 bytes long), <B>chpst</B> removes the environment
-variable <I>k</I> if it exists, without adding a new variable. </DD>
-
-<DT><B>-l <I>lock</B> </I></DT>
-<DD>lock. Open
-the file <I>lock</I> for writing, and obtain an exclusive lock on it. <I>lock</I> will
-be created if it does not exist. If <I>lock</I> is locked by another process, wait
-until a new lock can be obtained. </DD>
-
-<DT><B>-L <I>lock</B> </I></DT>
-<DD>The same as -l, but fail immediately
-if <I>lock</I> is locked by another process. </DD>
-
-<DT><B>-m <I>bytes</B> </I></DT>
-<DD>limit memory. Limit the data
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>chpst</b> [-vP012]
+[-u <i>user</i>] [-U <i>user</i>] [-e <i>dir</i>] [-l|-L <i>lock</i>] [-m <i>bytes</i>] [-o <i>n</i>] [-p <i>n</i>] [-f <i>bytes</i>] [-c
+<i>bytes</i>] <i>prog</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>prog</i> consists of one or more arguments. <p>
+<b>chpst</b> changes
+the process state according to the given options, and runs <i>prog</i>.
+<h2><a name='sect3' href='#toc3'>Options</a></h2>
+
+<dl>
+
+<dt><b>-u
+<i>user[:group]</b> </i></dt>
+<dd>setuidgid. Set uid and gid to the <i>user</i>’s uid and gid. If <i>user</i>
+is followed by a colon and a <i>group</i>, set the gid to <i>group</i>’s gid instead of
+<i>user</i>’s gid. All supplementary groups are removed. </dd>
+
+<dt><b>-U <i>user[:group]</b> </i></dt>
+<dd>envuidgid.
+Set the environment variables $UID and $GID to the <i>user</i>’s uid and gid. If
+<i>user</i> is followed by a colon and a <i>group</i>, set $GID to the <i>group</i>’s gid instead
+of <i>user</i>’s gid. </dd>
+
+<dt><b>-e <i>dir</b> </i></dt>
+<dd>envdir. Set various environment variables as specified
+by files in the directory <i>dir</i>: If <i>dir</i> contains a file named <i>k</i> whose first
+line is <i>v</i>, <b>chpst</b> removes the environment variable <i>k</i> if it exists, and then
+adds the environment variable <i>k</i> with the value <i>v</i>. The name <i>k</i> must not contain
+=. Spaces and tabs at the end of <i>v</i> are removed, and nulls in <i>v</i> are changed
+to newlines. If the file <i>k</i> is empty (0 bytes long), <b>chpst</b> removes the environment
+variable <i>k</i> if it exists, without adding a new variable. </dd>
+
+<dt><b>-l <i>lock</b> </i></dt>
+<dd>lock. Open
+the file <i>lock</i> for writing, and obtain an exclusive lock on it. <i>lock</i> will
+be created if it does not exist. If <i>lock</i> is locked by another process, wait
+until a new lock can be obtained. </dd>
+
+<dt><b>-L <i>lock</b> </i></dt>
+<dd>The same as -l, but fail immediately
+if <i>lock</i> is locked by another process. </dd>
+
+<dt><b>-m <i>bytes</b> </i></dt>
+<dd>limit memory. Limit the data
segment, stack segment, locked physical pages, and total of all segment
-per process to <I>bytes</I> bytes each. </DD>
+per process to <i>bytes</i> bytes each. </dd>
-<DT><B>-o <I>n</B> </I></DT>
-<DD>limit open files. Limit the number of
-open file descriptors per process to <I>n</I>. </DD>
+<dt><b>-o <i>n</b> </i></dt>
+<dd>limit open files. Limit the number of
+open file descriptors per process to <i>n</i>. </dd>
-<DT><B>-p <I>n</B> </I></DT>
-<DD>limit processes. Limit the number
-of processes per uid to <I>n</I>. </DD>
+<dt><b>-p <i>n</b> </i></dt>
+<dd>limit processes. Limit the number
+of processes per uid to <i>n</i>. </dd>
-<DT><B>-f <I>bytes</B> </I></DT>
-<DD>limit output size. Limit the output file
-size to <I>bytes</I> bytes. </DD>
+<dt><b>-f <i>bytes</b> </i></dt>
+<dd>limit output size. Limit the output file
+size to <i>bytes</i> bytes. </dd>
-<DT><B>-c <I>bytes</B> </I></DT>
-<DD>limit core size. Limit the core file size to
-<I>bytes</I> bytes. </DD>
+<dt><b>-c <i>bytes</b> </i></dt>
+<dd>limit core size. Limit the core file size to
+<i>bytes</i> bytes. </dd>
-<DT><B>-v</B> </DT>
-<DD>verbose. Print warnings about limits unsupported by the system
-to standard error. </DD>
+<dt><b>-v</b> </dt>
+<dd>verbose. Print warnings about limits unsupported by the system
+to standard error. </dd>
-<DT><B>-P</B> </DT>
-<DD>pgrphack. Run <I>prog</I> in a new process group. </DD>
+<dt><b>-P</b> </dt>
+<dd>pgrphack. Run <i>prog</i> in a new process group. </dd>
-<DT><B>-0</B> </DT>
-<DD>Close standard
-input before running <I>prog</I>. </DD>
+<dt><b>-0</b> </dt>
+<dd>Close standard
+input before running <i>prog</i>. </dd>
-<DT><B>-1</B> </DT>
-<DD>Close standard output before running <I>prog</I>. </DD>
+<dt><b>-1</b> </dt>
+<dd>Close standard output before running <i>prog</i>. </dd>
-<DT><B>-2</B>
-</DT>
-<DD>Close standard error before running <I>prog</I>. </DD>
-</DL>
+<dt><b>-2</b>
+</dt>
+<dd>Close standard error before running <i>prog</i>. </dd>
+</dl>
-<H2><A NAME="sect4">Exit Codes</A></H2>
-<B>chpst</B> exits 100 when
+<h2><a name='sect4' href='#toc4'>Exit Codes</a></h2>
+<b>chpst</b> exits 100 when
called with wrong options. It prints an error message and exits 111 if it
has trouble changing the process state. Otherwise its exit code is the same
-as that of <I>prog</I>.
-<H2><A NAME="sect5">Emulation</A></H2>
-If <B>chpst</B> is called as <B><I>envdir</B>(8)</I>, <B><I>envuidgid</B>(8)</I>,
-<B><I>pgrphack</B>(8)</I>, <B><I>setlock</B>(8)</I>, <B><I>setuidgid</B>(8)</I>, or <B><I>softlimit</B>(8)</I>, it emulates the
+as that of <i>prog</i>.
+<h2><a name='sect5' href='#toc5'>Emulation</a></h2>
+If <b>chpst</b> is called as <i><b>envdir</b>(8)</i>, <i><b>envuidgid</b>(8)</i>,
+<i><b>pgrphack</b>(8)</i>, <i><b>setlock</b>(8)</i>, <i><b>setuidgid</b>(8)</i>, or <i><b>softlimit</b>(8)</i>, it emulates the
functionality of these programs from the daemontools package respectively.
-<H2><A NAME="sect6">See Also</A></H2>
-<I>runsv(8)</I>, <I>runsvctrl(8)</I>, <I>runsvstat(8)</I>, <I>runsvdir(8)</I>, <I>setsid(2)</I> <P>
- <I>http://smarden.org/runit/</I><BR>
- <I>http://cr.yp.to/daemontools.html</I><BR>
+<h2><a name='sect6' href='#toc6'>See Also</a></h2>
+<i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>runsvdir(8)</i>, <i>setsid(2)</i> <p>
+ <i>http://smarden.org/runit/</i><br>
+ <i>http://cr.yp.to/daemontools.html</i><br>
-<H2><A NAME="sect7">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
-
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Options</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Exit Codes</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">Emulation</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">See Also</A></LI>
-<LI><A NAME="toc7" HREF="#sect7">Author</A></LI>
-</UL>
-</BODY></HTML>
+<h2><a name='sect7' href='#toc7'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
+
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Options</a></li>
+<li><a name='toc4' href='#sect4'>Exit Codes</a></li>
+<li><a name='toc5' href='#sect5'>Emulation</a></li>
+<li><a name='toc6' href='#sect6'>See Also</a></li>
+<li><a name='toc7' href='#sect7'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/runit-init.8.html b/doc/runit-init.8.html
@@ -1,59 +1,60 @@
-<HTML>
-<HEAD>
-<TITLE>runit-init(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
-
-<H2><A NAME="sect0">Name</A></H2>
+<html>
+<head>
+<title>runit-init(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
+
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
init - a UNIX process no 1
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>init</B> [ 0 | 6 ]
-<H2><A NAME="sect2">Description</A></H2>
-<B>runit-init</B>
-is the first process the kernel starts. If <B>runit-init</B> is started as process
-no 1, it runs and replaces itself with <B><I>runit</B>(8)</I>. <P>
-If <B>runit-init</B> is started
-while the system is up, it must be either called as <B>init 0</B> or <B>init 6:</B>
-<DL>
-
-<DT><B>init
-0</B> </DT>
-<DD>tells the Unix process no 1 to shutdown and halt the system. To signal
-<B><I>runit</B>(8)</I> the system halt request, <B>runit-init</B> removes all permissions of
-the file <I>/etc/runit/reboot</I> (chmod 0), and sets the execute by owner permission
-of the file <I>/etc/runit/stopit</I> (chmod 100). Then a CONT signal is sent to
-<B><I>runit</B>(8)</I>. </DD>
-
-<DT><B>init 6</B> </DT>
-<DD>tells the Unix process no 1 to shutdown and reboot the
-system. To signal <B><I>runit</B>(8)</I> the system reboot request, <B>runit-init</B> sets the
-execute by owner permission of the files <I>/etc/runit/reboot</I> and <I>/etc/runit/stopit</I>
-(chmod 100). Then a CONT signal is sent to <B><I>runit</B>(8)</I>. </DD>
-</DL>
-
-<H2><A NAME="sect3">Exit Codes</A></H2>
-<B>runit-init</B>
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>init</b> [ 0 | 6 ]
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<b>runit-init</b>
+is the first process the kernel starts. If <b>runit-init</b> is started as process
+no 1, it runs and replaces itself with <i><b>runit</b>(8)</i>. <p>
+If <b>runit-init</b> is started
+while the system is up, it must be either called as <b>init 0</b> or <b>init 6:</b>
+<dl>
+
+<dt><b>init
+0</b> </dt>
+<dd>tells the Unix process no 1 to shutdown and halt the system. To signal
+<i><b>runit</b>(8)</i> the system halt request, <b>runit-init</b> removes all permissions of
+the file <i>/etc/runit/reboot</i> (chmod 0), and sets the execute by owner permission
+of the file <i>/etc/runit/stopit</i> (chmod 100). Then a CONT signal is sent to
+<i><b>runit</b>(8)</i>. </dd>
+
+<dt><b>init 6</b> </dt>
+<dd>tells the Unix process no 1 to shutdown and reboot the
+system. To signal <i><b>runit</b>(8)</i> the system reboot request, <b>runit-init</b> sets the
+execute by owner permission of the files <i>/etc/runit/reboot</i> and <i>/etc/runit/stopit</i>
+(chmod 100). Then a CONT signal is sent to <i><b>runit</b>(8)</i>. </dd>
+</dl>
+
+<h2><a name='sect3' href='#toc3'>Exit Codes</a></h2>
+<b>runit-init</b>
returns 111 on error, 0 in all other cases.
-<H2><A NAME="sect4">See Also</A></H2>
-<I>runit(8)</I>, <I>runsv(8)</I>,
-<I>runsvctrl(8)</I>, <I>runsvstat(8)</I>, <I>runsvdir(8)</I>, <I>runsvchdir(8)</I>, <I>svlogd(8)</I>, <I>utmpset(8)</I>
-<P>
-<I>http://smarden.org/runit/</I>
-<H2><A NAME="sect5">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
-
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Exit Codes</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">See Also</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">Author</A></LI>
-</UL>
-</BODY></HTML>
+<h2><a name='sect4' href='#toc4'>See Also</a></h2>
+<i>runit(8)</i>, <i>runsv(8)</i>,
+<i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>svlogd(8)</i>, <i>utmpset(8)</i>
+<p>
+<i>http://smarden.org/runit/</i>
+<h2><a name='sect5' href='#toc5'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
+
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Exit Codes</a></li>
+<li><a name='toc4' href='#sect4'>See Also</a></li>
+<li><a name='toc5' href='#sect5'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/runit.8.html b/doc/runit.8.html
@@ -1,73 +1,74 @@
-<HTML>
-<HEAD>
-<TITLE>runit(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
+<html>
+<head>
+<title>runit(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
-<H2><A NAME="sect0">Name</A></H2>
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
runit - a UNIX process no 1
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>runit</B>
-<H2><A NAME="sect2">Description</A></H2>
-<B>runit</B> must be run
-as Unix process no 1. It performs the system's booting, running, and shutdown
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>runit</b>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<b>runit</b> must be run
+as Unix process no 1. It performs the system’s booting, running, and shutdown
in three Stages:
-<H2><A NAME="sect3">Stage 1</A></H2>
-<B>runit</B> runs <I>/etc/runit/1</I> and waits for it to terminate.
-The system's one time tasks are done here. <I>/etc/runit/1</I> has full control
-of <I>/dev/console</I> to be able to start an emergency shell if the one time
-initialization tasks fail. If <I>/etc/runit/1</I> itself crashes, <B>runit</B> will skip
+<h2><a name='sect3' href='#toc3'>Stage 1</a></h2>
+<b>runit</b> runs <i>/etc/runit/1</i> and waits for it to terminate.
+The system’s one time tasks are done here. <i>/etc/runit/1</i> has full control
+of <i>/dev/console</i> to be able to start an emergency shell if the one time
+initialization tasks fail. If <i>/etc/runit/1</i> itself crashes, <b>runit</b> will skip
stage 2 and enter stage 3.
-<H2><A NAME="sect4">Stage 2</A></H2>
-<B>runit</B> runs <I>/etc/runit/2</I>, which should
+<h2><a name='sect4' href='#toc4'>Stage 2</a></h2>
+<b>runit</b> runs <i>/etc/runit/2</i>, which should
not return until system shutdown; if it crashes, it will be restarted. Normally
-<I>/etc/runit/2</I> starts <B><I>runsvdir</B>(8)</I>. <B>runit</B> is able to handle the ctrl-alt-del
+<i>/etc/runit/2</i> starts <i><b>runsvdir</b>(8)</i>. <b>runit</b> is able to handle the ctrl-alt-del
keyboard request in Stage 2, see below.
-<H2><A NAME="sect5">Stage 3</A></H2>
-If <B>runit</B> is told to shutdown
+<h2><a name='sect5' href='#toc5'>Stage 3</a></h2>
+If <b>runit</b> is told to shutdown
the system, or the Stage 2 returns without errors, it terminates Stage
-2 if it is running, and runs <I>/etc/runit/3</I>. The systems tasks to shutdown
-and halt or reboot are done here. If Stage 3 returns, <B>runit</B> checks if the
-file <I>/etc/runit/reboot</I> exists and has the execute by owner permission set.
-If so, the system is rebooted, it's halted otherwise.
-<H2><A NAME="sect6">Ctrl-alt-del</A></H2>
-If <B>runit</B>
-receives the ctrl-alt-del keyboard request and the file <I>/etc/runit/ctrlaltdel</I>
-exists and has the execute by owner permission set, <B>runit</B> runs <I>/etc/runit/ctrlaltdel</I>,
+2 if it is running, and runs <i>/etc/runit/3</i>. The systems tasks to shutdown
+and halt or reboot are done here. If Stage 3 returns, <b>runit</b> checks if the
+file <i>/etc/runit/reboot</i> exists and has the execute by owner permission set.
+If so, the system is rebooted, it’s halted otherwise.
+<h2><a name='sect6' href='#toc6'>Ctrl-alt-del</a></h2>
+If <b>runit</b>
+receives the ctrl-alt-del keyboard request and the file <i>/etc/runit/ctrlaltdel</i>
+exists and has the execute by owner permission set, <b>runit</b> runs <i>/etc/runit/ctrlaltdel</i>,
waits for it to terminate, and then sends itself a CONT signal.
-<H2><A NAME="sect7">Signals</A></H2>
-<B>runit</B>
-only accepts signals in Stage 2. <P>
-If <B>runit</B> receives a CONT signal and the
-file <I>/etc/runit/stopit</I> exists and has the execute by owner permission set,
-<B>runit</B> is told to shutdown the system. <P>
-if <B>runit</B> receives an INT signal, a
+<h2><a name='sect7' href='#toc7'>Signals</a></h2>
+<b>runit</b>
+only accepts signals in Stage 2. <p>
+If <b>runit</b> receives a CONT signal and the
+file <i>/etc/runit/stopit</i> exists and has the execute by owner permission set,
+<b>runit</b> is told to shutdown the system. <p>
+if <b>runit</b> receives an INT signal, a
ctrl-alt-del keyboard request is triggered.
-<H2><A NAME="sect8">See Also</A></H2>
-<I>runit-init(8)</I>, <I>runsvdir(8)</I>,
-<I>runsvchdir(8)</I>, <I>runsv(8)</I>, <I>runsvctrl(8)</I>, <I>runsvstat(8)</I>, <I>svwaitdown(8)</I>, <I>svwaitup(8)</I>,
-<I>svlogd(8)</I>, <I>utmpset(8)</I> <P>
-<I>http://smarden.org/runit/</I>
-<H2><A NAME="sect9">Author</A></H2>
+<h2><a name='sect8' href='#toc8'>See Also</a></h2>
+<i>runit-init(8)</i>, <i>runsvdir(8)</i>,
+<i>runsvchdir(8)</i>, <i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>svwaitdown(8)</i>, <i>svwaitup(8)</i>,
+<i>svlogd(8)</i>, <i>utmpset(8)</i> <p>
+<i>http://smarden.org/runit/</i>
+<h2><a name='sect9' href='#toc9'>Author</a></h2>
Gerrit Pape <pape@smarden.org>
-<P>
+<p>
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Stage 1</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Stage 2</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">Stage 3</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Ctrl-alt-del</A></LI>
-<LI><A NAME="toc7" HREF="#sect7">Signals</A></LI>
-<LI><A NAME="toc8" HREF="#sect8">See Also</A></LI>
-<LI><A NAME="toc9" HREF="#sect9">Author</A></LI>
-</UL>
-</BODY></HTML>
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Stage 1</a></li>
+<li><a name='toc4' href='#sect4'>Stage 2</a></li>
+<li><a name='toc5' href='#sect5'>Stage 3</a></li>
+<li><a name='toc6' href='#sect6'>Ctrl-alt-del</a></li>
+<li><a name='toc7' href='#sect7'>Signals</a></li>
+<li><a name='toc8' href='#sect8'>See Also</a></li>
+<li><a name='toc9' href='#sect9'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/runsv.8.html b/doc/runsv.8.html
@@ -1,140 +1,139 @@
-<HTML>
-<HEAD>
-<TITLE>runsv(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
-
-<H2><A NAME="sect0">Name</A></H2>
+<html>
+<head>
+<title>runsv(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
+
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
runsv - starts and monitors a service and optionally an appendant log
service
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>runsv</B> <I>service</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>service</I> must be a directory. <P>
-<B>runsv</B>
-switches to the directory <I>service</I> and starts ./run. if ./run exits and ./finish
-exists, <B>runsv</B> starts ./finish. If ./finish doesn't exist or ./finish exits,
-<B>runsv</B> restarts ./run. <P>
-If ./run or ./finish exit immediately, <B>runsv</B> waits a
-second before starting ./finish or restarting ./run. <P>
-If the file <I>service</I>/down
-exists, <B>runsv</B> does not start ./run immediately. The control interface (see
-below) can be used to start the service and to give other commands to <B>runsv</B>.
-<P>
-If the directory <I>service</I>/log exists, <B>runsv</B> creates a pipe, redirects <I>service</I>/run's
-and <I>service</I>/finish's standard output to the pipe, switches to the directory
-<I>service</I>/log and starts ./run (and ./finish) exactly as described above for
-the <I>service</I> directory. The standard input of the log service a redirected
-to read from the pipe. <P>
-<B>runsv</B> maintains status information in a binary format
-compatible to <B><I>supervise</B>(8)</I> in <I>service</I>/supervise/status and <I>service</I>/log/supervise/status,
-and in a human-readable format in <I>service</I>/supervise/stat, <I>service</I>/log/supervise/stat,
-<I>service</I>/supervise/pid, <I>service</I>/log/supervise/pid.
-<H2><A NAME="sect3">Control</A></H2>
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>runsv</b> <i>service</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>service</i> must be a directory. <p>
+<b>runsv</b>
+switches to the directory <i>service</i> and starts ./run. if ./run exits and ./finish
+exists, <b>runsv</b> starts ./finish. If ./finish doesn’t exist or ./finish exits,
+<b>runsv</b> restarts ./run. <p>
+If ./run or ./finish exit immediately, <b>runsv</b> waits a
+second before starting ./finish or restarting ./run. <p>
+If the file <i>service</i>/down
+exists, <b>runsv</b> does not start ./run immediately. The control interface (see
+below) can be used to start the service and to give other commands to <b>runsv</b>.
+<p>
+If the directory <i>service</i>/log exists, <b>runsv</b> creates a pipe, redirects <i>service</i>/run’s
+and <i>service</i>/finish’s standard output to the pipe, switches to the directory
+<i>service</i>/log and starts ./run (and ./finish) exactly as described above for
+the <i>service</i> directory. The standard input of the log service a redirected
+to read from the pipe. <p>
+<b>runsv</b> maintains status information in a binary format
+compatible to <i><b>supervise</b>(8)</i> in <i>service</i>/supervise/status and <i>service</i>/log/supervise/status,
+and in a human-readable format in <i>service</i>/supervise/stat, <i>service</i>/log/supervise/stat,
+<i>service</i>/supervise/pid, <i>service</i>/log/supervise/pid.
+<h2><a name='sect3' href='#toc3'>Control</a></h2>
The named pipes
-<I>service</I>/supervise/control, and (optionally) <I>service</I>/log/supervise/control
-are provided to give commands to <B>runsv</B>. You can use <B><I>svc</B>(8)</I> to control the
+<i>service</i>/supervise/control, and (optionally) <i>service</i>/log/supervise/control
+are provided to give commands to <b>runsv</b>. You can use <i><b>svc</b>(8)</i> to control the
service or just write one of the following characters to the named pipe:
-<DL>
+<dl>
-<DT><B>u</B> </DT>
-<DD>Up. If the service is not running, start it. If the service stops, restart
-it. </DD>
+<dt><b>u</b> </dt>
+<dd>Up. If the service is not running, start it. If the service stops, restart
+it. </dd>
-<DT><B>d</B> </DT>
-<DD>Down. If the service is running, send it a TERM signal. If ./run exits,
-start ./finish if it exists. After it stops, do not restart service. </DD>
+<dt><b>d</b> </dt>
+<dd>Down. If the service is running, send it a TERM signal. If ./run exits,
+start ./finish if it exists. After it stops, do not restart service. </dd>
-<DT><B>o</B> </DT>
-<DD>Once.
-If the service is not running, start it. Do not restart it if it stops. </DD>
+<dt><b>o</b> </dt>
+<dd>Once.
+If the service is not running, start it. Do not restart it if it stops. </dd>
-<DT><B>p</B>
-</DT>
-<DD>Pause. If the service is running, send it a STOP signal. </DD>
+<dt><b>p</b>
+</dt>
+<dd>Pause. If the service is running, send it a STOP signal. </dd>
-<DT><B>c</B> </DT>
-<DD>Continue. If the
-service is running, send it a CONT signal. </DD>
+<dt><b>c</b> </dt>
+<dd>Continue. If the
+service is running, send it a CONT signal. </dd>
-<DT><B>h</B> </DT>
-<DD>Hangup. If the service is running,
-send it a HUP signal. </DD>
+<dt><b>h</b> </dt>
+<dd>Hangup. If the service is running,
+send it a HUP signal. </dd>
-<DT><B>a</B> </DT>
-<DD>Alarm. If the service is running, send it a ALRM
-signal. </DD>
+<dt><b>a</b> </dt>
+<dd>Alarm. If the service is running, send it a ALRM
+signal. </dd>
-<DT><B>i</B> </DT>
-<DD>Interrupt. If the service is running, send it a INT signal. </DD>
+<dt><b>i</b> </dt>
+<dd>Interrupt. If the service is running, send it a INT signal.
-<DT><B>1</B> </DT>
-<DD>User-defined 1.
-If the service is running, send it a USR1 signal. </DD>
+<dt><b>1</b> </dt>
+<dd>User-defined 1. If the service is running, send it a USR1 signal. </dd>
-<DT><B>2</B> </DT>
-<DD>User-defined 2.
-If the service is running, send it a USR2 signal. </DD>
+<dt><b>2</b> </dt>
+<dd>User-defined 2. If the service is running, send it a USR2 signal. </dd>
-<DT><B>t</B> </DT>
-<DD>Terminate. If the service is
-running, send it a TERM signal. </DD>
+<dt><b>t</b> </dt>
+<dd>Terminate. If the service is
+running, send it a TERM signal. </dd>
-<DT><B>k</B> </DT>
-<DD>Kill. If the service is running, send it
-a KILL signal. </DD>
+<dt><b>k</b> </dt>
+<dd>Kill. If the service is running, send it
+a KILL signal. </dd>
-<DT><B>x or <B>e</B> </B></DT>
-<DD>Exit. If the service is running, send it a TERM signal.
+<dt><b>x or <b>e</b> </b></dt>
+<dd>Exit. If the service is running, send it a TERM signal.
Do not restart the service. If the service is down, and no log service exists,
-<B>runsv</B> exits. If the service is down and a log service exists, <B>runsv</B> closes
+<b>runsv</b> exits. If the service is down and a log service exists, <b>runsv</b> closes
the standard input of the log service, and waits for it to terminate. If
-the log service is down, <B>runsv</B> exits. This command is ignored if it is given
-to <I>service</I>/log/supervise/control. </DD>
-</DL>
-<P>
+the log service is down, <b>runsv</b> exits. This command is ignored if it is given
+to <i>service</i>/log/supervise/control. </dd>
+</dl>
+<p>
For example, to send a TERM signal to
-/service/socklog-unix, either do # svc -t /service/socklog-unix<BR>
- or<BR>
- # echo -n t >/service/socklog-unix/supervise/control<BR>
- <P>
-If <B><I>echo</B>(1)</I> on your systems does not provide the -n option, leave it out,
-<B>runsv</B> ignores unknown characters written to the control pipe. <B><I>echo</B>(1)</I> usually
-blocks if no <B>runsv</B> process is running in the service directory.
-<H2><A NAME="sect4">Signals</A></H2>
+/service/socklog-unix, either do # svc -t /service/socklog-unix<br>
+ or<br>
+ # echo -n t >/service/socklog-unix/supervise/control<br>
+ <p>
+If <i><b>echo</b>(1)</i> on your systems does not provide the -n option, leave it out,
+<b>runsv</b> ignores unknown characters written to the control pipe. <i><b>echo</b>(1)</i> usually
+blocks if no <b>runsv</b> process is running in the service directory.
+<h2><a name='sect4' href='#toc4'>Signals</a></h2>
If
-<B>runsv</B> receives a TERM signal, it acts as if the character x was written
+<b>runsv</b> receives a TERM signal, it acts as if the character x was written
to the control pipe.
-<H2><A NAME="sect5">Exit Codes</A></H2>
-<B>runsv</B> exits 111 on an error on startup or
-if another <B>runsv</B> is running in <I>service</I>. <P>
-<B>runsv</B> exits 0 if it was told to
+<h2><a name='sect5' href='#toc5'>Exit Codes</a></h2>
+<b>runsv</b> exits 111 on an error on startup or
+if another <b>runsv</b> is running in <i>service</i>. <p>
+<b>runsv</b> exits 0 if it was told to
exit.
-<H2><A NAME="sect6">See Also</A></H2>
-<I>runsvctrl(8)</I>, <I>runsvstat(8)</I>, <I>runit(8)</I>, <I>runit-init(8)</I>, <I>runsvdir(8)</I>,
-<I>runsvchdir(8)</I>, <I>svlogd(8)</I>, <I>svwaitdown(8)</I>, <I>svwaitup(8)</I>, <I>svc(8)</I>, <I>supervise(8)</I>
-<P>
- <I>http://smarden.org/runit/</I><BR>
- <I>http://cr.yp.to/daemontools.html</I><BR>
+<h2><a name='sect6' href='#toc6'>See Also</a></h2>
+<i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>,
+<i>runsvchdir(8)</i>, <i>svlogd(8)</i>, <i>svwaitdown(8)</i>, <i>svwaitup(8)</i>, <i>svc(8)</i>, <i>supervise(8)</i>
+<p>
+ <i>http://smarden.org/runit/</i><br>
+ <i>http://cr.yp.to/daemontools.html</i><br>
-<H2><A NAME="sect7">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
-
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Control</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Signals</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">Exit Codes</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">See Also</A></LI>
-<LI><A NAME="toc7" HREF="#sect7">Author</A></LI>
-</UL>
-</BODY></HTML>
+<h2><a name='sect7' href='#toc7'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
+
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Control</a></li>
+<li><a name='toc4' href='#sect4'>Signals</a></li>
+<li><a name='toc5' href='#sect5'>Exit Codes</a></li>
+<li><a name='toc6' href='#sect6'>See Also</a></li>
+<li><a name='toc7' href='#sect7'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/runsvchdir.8.html b/doc/runsvchdir.8.html
@@ -1,52 +1,53 @@
-<HTML>
-<HEAD>
-<TITLE>runsvchdir(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
+<html>
+<head>
+<title>runsvchdir(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
-<H2><A NAME="sect0">Name</A></H2>
-runsvchdir - change service directory of <I>runsvdir(8)</I>
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>runsvchdir</B>
-<I>dir</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>dir</I> is a directory for the use with <B><I>runsvdir</B>(8)</I>. If <I>dir</I> does
-not start with a slash, it is searched in /etc/runit/runsvdir/. <I>dir</I> must
-not start with a dot. <P>
-<B>runsvchdir</B> switches to the directory <I>/etc/runit/runsvdir</I>,
-copies <I>current</I> to <I>previous</I>, and replaces <I>current</I> with a symlink pointing
-to <I>dir</I>. <P>
-Normally <I>/service</I> is a symlink to <I>current</I>, and <B><I>runsvdir</B>(8)</I> is running
-<I>/service</I>.
-<H2><A NAME="sect3">Exit Codes</A></H2>
-<B>runsvchdir</B> prints an error message and exits 111 on
-error. <B>runsvchdir</B> exits 0 on success.
-<H2><A NAME="sect4">Files</A></H2>
- /etc/runit/runsvdir/previous<BR>
- /etc/runit/runsvdir/current<BR>
- /etc/runit/runsvdir/current.new<BR>
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
+runsvchdir - change service directory of <i>runsvdir(8)</i>
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>runsvchdir</b>
+<i>dir</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>dir</i> is a directory for the use with <i><b>runsvdir</b>(8)</i>. If <i>dir</i> does
+not start with a slash, it is searched in /etc/runit/runsvdir/. <i>dir</i> must
+not start with a dot. <p>
+<b>runsvchdir</b> switches to the directory <i>/etc/runit/runsvdir</i>,
+copies <i>current</i> to <i>previous</i>, and replaces <i>current</i> with a symlink pointing
+to <i>dir</i>. <p>
+Normally <i>/service</i> is a symlink to <i>current</i>, and <i><b>runsvdir</b>(8)</i> is running
+<i>/service</i>.
+<h2><a name='sect3' href='#toc3'>Exit Codes</a></h2>
+<b>runsvchdir</b> prints an error message and exits 111 on
+error. <b>runsvchdir</b> exits 0 on success.
+<h2><a name='sect4' href='#toc4'>Files</a></h2>
+ /etc/runit/runsvdir/previous<br>
+ /etc/runit/runsvdir/current<br>
+ /etc/runit/runsvdir/current.new<br>
-<H2><A NAME="sect5">See Also</A></H2>
-<I>runsvdir(8)</I>, <I>runsv(8)</I>, <I>runsvctrl(8)</I>, <I>runsvstat(8)</I>, <I>runit(8)</I>, <I>runit-init(8)</I>,
-<I>svwaitdown(8)</I>, <I>svwaitup(8)</I> <P>
-<I>http://smarden.org/runit/</I>
-<H2><A NAME="sect6">Author</A></H2>
+<h2><a name='sect5' href='#toc5'>See Also</a></h2>
+<i>runsvdir(8)</i>, <i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>,
+<i>svwaitdown(8)</i>, <i>svwaitup(8)</i> <p>
+<i>http://smarden.org/runit/</i>
+<h2><a name='sect6' href='#toc6'>Author</a></h2>
Gerrit Pape <pape@smarden.org>
-<P>
+<p>
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Exit Codes</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Files</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">See Also</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Author</A></LI>
-</UL>
-</BODY></HTML>
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Exit Codes</a></li>
+<li><a name='toc4' href='#sect4'>Files</a></li>
+<li><a name='toc5' href='#sect5'>See Also</a></li>
+<li><a name='toc6' href='#sect6'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/runsvctrl.8.html b/doc/runsvctrl.8.html
@@ -1,112 +1,111 @@
-<HTML>
-<HEAD>
-<TITLE>runsvctrl(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
-
-<H2><A NAME="sect0">Name</A></H2>
-runsvctrl - controls a service monitored by <B><I>runsv</B>(8)</I>.
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>runsvctrl</B>
-<I>command</I> <I>services</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>services</I> consists of one or more arguments,
-each argument naming a directory used by <B><I>runsv</B>(8)</I>. <I>command</I> is one of up,
+<html>
+<head>
+<title>runsvctrl(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
+
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
+runsvctrl - controls a service monitored by <i><b>runsv</b>(8)</i>.
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>runsvctrl</b>
+<i>command</i> <i>services</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>services</i> consists of one or more arguments,
+each argument naming a directory used by <i><b>runsv</b>(8)</i>. <i>command</i> is one of up,
down, once, pause, cont, hup, alarm, interrupt, 1, 2, term, kill, or exit.
-<P>
-For each <I>service</I> of <I>services</I>, <B>runsvctrl</B> sends the command <I>command</I> to the
-<I>service</I>, which must be controlled by <B><I>runsv</B>(8)</I>.
-<H2><A NAME="sect3">Commands</A></H2>
+<p>
+For each <i>service</i> of <i>services</i>, <b>runsvctrl</b> sends the command <i>command</i> to the
+<i>service</i>, which must be controlled by <i><b>runsv</b>(8)</i>.
+<h2><a name='sect3' href='#toc3'>Commands</a></h2>
-<DL>
+<dl>
-<DT><B>up</B> </DT>
-<DD>If the service
-is not running, start it. If the service stops, restart it. </DD>
+<dt><b>up</b> </dt>
+<dd>If the service
+is not running, start it. If the service stops, restart it. </dd>
-<DT><B>down</B> </DT>
-<DD>If the service
+<dt><b>down</b> </dt>
+<dd>If the service
is running, send it a TERM signal. If ./run exits, start ./finish if it exists.
-After it stops, do not restart service. </DD>
+After it stops, do not restart service. </dd>
-<DT><B>once</B> </DT>
-<DD>If the service is not running,
-start it. Do not restart it if it stops. </DD>
+<dt><b>once</b> </dt>
+<dd>If the service is not running,
+start it. Do not restart it if it stops. </dd>
-<DT><B>pause</B> </DT>
-<DD>If the service is running,
-send it a STOP signal. </DD>
+<dt><b>pause</b> </dt>
+<dd>If the service is running,
+send it a STOP signal. </dd>
-<DT><B>cont</B> </DT>
-<DD>If the service is running, send it a CONT signal.
-</DD>
+<dt><b>cont</b> </dt>
+<dd>If the service is running, send it a CONT signal.
+</dd>
-<DT><B>hup</B> </DT>
-<DD>If the service is running, send it a HUP signal. </DD>
+<dt><b>hup</b> </dt>
+<dd>If the service is running, send it a HUP signal. </dd>
-<DT><B>alarm</B> </DT>
-<DD>If the service
-is running, send it a ALRM signal. </DD>
+<dt><b>alarm</b> </dt>
+<dd>If the service
+is running, send it a ALRM signal. </dd>
-<DT><B>interrupt</B> </DT>
-<DD>If the service is running,
-send it a INT signal. </DD>
+<dt><b>interrupt</b> </dt>
+<dd>If the service is running,
+send it a INT signal. </dd>
-<DT><B>1</B> </DT>
-<DD>User-defined 1.
-If the service is running, send it a USR1 signal. </DD>
+<dt><b>1</b> </dt>
+<dd>User-defined 1. If the service is running, send it a USR1 signal. </dd>
-<DT><B>2</B> </DT>
-<DD>User-defined 2.
-If the service is running, send it a USR2 signal. </DD>
+<dt><b>2</b> </dt>
+<dd>User-defined 2. If the service is running, send it a USR2 signal. </dd>
-<DT><B>term</B> </DT>
-<DD>If the service is running, send it a TERM signal. </DD>
+<dt><b>term</b> </dt>
+<dd>If the service is running, send it a TERM signal. </dd>
-<DT><B>kill</B> </DT>
-<DD>If the service
-is running, send it a KILL signal. </DD>
+<dt><b>kill</b> </dt>
+<dd>If the service
+is running, send it a KILL signal. </dd>
-<DT><B>exit</B> </DT>
-<DD>If the service is running, send
+<dt><b>exit</b> </dt>
+<dd>If the service is running, send
it a TERM signal. Do not restart the service. If the service is down, and
-no log service exists, <B><I>runsv</B>(8)</I> exits. If the service is down and a log
+no log service exists, <i><b>runsv</b>(8)</i> exits. If the service is down and a log
service exists, send a TERM signal to the log service. If the log service
-is down, <B><I>runsv</B>(8)</I> exits. This command is ignored if it is given to <I>service</I>/log/supervise/control.
-</DD>
-</DL>
-<P>
-<B>runsvctrl</B> actually looks only at the first character of <I>command</I>.
-<H2><A NAME="sect4">Exit Codes</A></H2>
-<B>runsvctrl</B>
-exits 0, if the <I>command</I> was sent successfully to all <I>services</I>. <P>
+is down, <i><b>runsv</b>(8)</i> exits. This command is ignored if it is given to <i>service</i>/log/supervise/control.
+</dd>
+</dl>
+<p>
+<b>runsvctrl</b> actually looks only at the first character of <i>command</i>.
+<h2><a name='sect4' href='#toc4'>Exit Codes</a></h2>
+<b>runsvctrl</b>
+exits 0, if the <i>command</i> was sent successfully to all <i>services</i>. <p>
For each
-<I>service</I> that caused an error (e.g. the directory is not controlled by a <B><I>runsv</B>(8)</I>
-process), <B>runsvctrl</B> increases the exit code by one and exits non zero. The
-maximum is 100. <P>
-<B>runsvctrl</B> exits 111 on error.
-<H2><A NAME="sect5">See Also</A></H2>
-<I>runsvstat(8)</I>, <I>runsv(8)</I>,
-<I>runit(8)</I>, <I>runit-init(8)</I>, <I>runsvdir(8)</I>, <I>runsvchdir(8)</I>, <I>svlogd(8)</I>, <I>svwaitdown(8)</I>,
-<I>svwaitup(8)</I> <P>
- <I>http://smarden.org/runit/</I><BR>
+<i>service</i> that caused an error (e.g. the directory is not controlled by a <i><b>runsv</b>(8)</i>
+process), <b>runsvctrl</b> increases the exit code by one and exits non zero. The
+maximum is 100. <p>
+<b>runsvctrl</b> exits 111 on error.
+<h2><a name='sect5' href='#toc5'>See Also</a></h2>
+<i>runsvstat(8)</i>, <i>runsv(8)</i>,
+<i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>svlogd(8)</i>, <i>svwaitdown(8)</i>,
+<i>svwaitup(8)</i> <p>
+ <i>http://smarden.org/runit/</i><br>
-<H2><A NAME="sect6">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
-
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Commands</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Exit Codes</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">See Also</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Author</A></LI>
-</UL>
-</BODY></HTML>
+<h2><a name='sect6' href='#toc6'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
+
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Commands</a></li>
+<li><a name='toc4' href='#sect4'>Exit Codes</a></li>
+<li><a name='toc5' href='#sect5'>See Also</a></li>
+<li><a name='toc6' href='#sect6'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/runsvdir.8.html b/doc/runsvdir.8.html
@@ -1,63 +1,64 @@
-<HTML>
-<HEAD>
-<TITLE>runsvdir(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
+<html>
+<head>
+<title>runsvdir(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
-<H2><A NAME="sect0">Name</A></H2>
-runsvdir - starts and monitors a collection of <I>runsv(8)</I> processes
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>runsvdir</B>
-<I>dir</I> [ <I>log</I> ]
-<H2><A NAME="sect2">Description</A></H2>
-<I>dir</I> must be a directory. <I>log</I> is a space holder for
-a readproctitle log and must be at least seven characters long. <P>
-<B>runsvdir</B>
-starts a <B><I>runsv</B>(8)</I> process for each subdirectory in <I>dir</I>, up to a limit of
-1000 subdirectories. <B>runsvdir</B> skips subdirectory names starting with dots.
-<B><I>runsv</B>(8)</I> must be in <B>runsvdir</B>'s PATH. <P>
-At least every five seconds, <B>runsvdir</B>
-checks if <I>dir</I> has changed. If it sees a new subdirectory in <I>dir</I>, it starts
-a new <B><I>runsv</B>(8)</I> process. If it sees an old sudirectory where a <B><I>runsv</B>(8)</I> process
-has exited, it restarts the <B><I>runsv</B>(8)</I> process. If <B>runsvdir</B> sees a subdirectory
-being removed that was previously there, it sends the corresponding <B><I>runsv</B>(8)</I>
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
+runsvdir - starts and monitors a collection of <i>runsv(8)</i> processes
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>runsvdir</b>
+<i>dir</i> [ <i>log</i> ]
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>dir</i> must be a directory. <i>log</i> is a space holder for
+a readproctitle log and must be at least seven characters long. <p>
+<b>runsvdir</b>
+starts a <i><b>runsv</b>(8)</i> process for each subdirectory in <i>dir</i>, up to a limit of
+1000 subdirectories. <b>runsvdir</b> skips subdirectory names starting with dots.
+<i><b>runsv</b>(8)</i> must be in <b>runsvdir</b>’s PATH. <p>
+At least every five seconds, <b>runsvdir</b>
+checks if <i>dir</i> has changed. If it sees a new subdirectory in <i>dir</i>, it starts
+a new <i><b>runsv</b>(8)</i> process. If it sees an old sudirectory where a <i><b>runsv</b>(8)</i> process
+has exited, it restarts the <i><b>runsv</b>(8)</i> process. If <b>runsvdir</b> sees a subdirectory
+being removed that was previously there, it sends the corresponding <i><b>runsv</b>(8)</i>
process a TERM signal, stops monitoring this process, and so does not restart
-the <B><I>runsv</B>(8)</I> process if it exits. <P>
-If the <I>log</I> argument is given to <B>runsvdir</B>,
-all output to standard error is redirected to this <I>log</I>, which is similar
-to the <B><I>readproctitle</B>(8)</I> log. To see the most recent error messages, use
-a process-listing tool such as <B><I>ps</B>(1)</I>. <B>runsvdir</B> writes a dot to the readproctitle
-log every 15 minutes so that old error messages expire. <P>
-Normally <B>runsvdir</B>
-is started by <B><I>runit</B>(8)</I> in stage 2.
-<H2><A NAME="sect3">Signals</A></H2>
-If <B>runsvdir</B> receives a TERM signal,
-it exits with 0 immediately. <P>
-If <B>runsvdir</B> receives a HUP signal, it sends
-a TERM signal to each <B><I>runsv</B>(8)</I> process it is monitoring and then exits
+the <i><b>runsv</b>(8)</i> process if it exits. <p>
+If the <i>log</i> argument is given to <b>runsvdir</b>,
+all output to standard error is redirected to this <i>log</i>, which is similar
+to the <i><b>readproctitle</b>(8)</i> log. To see the most recent error messages, use
+a process-listing tool such as <i><b>ps</b>(1)</i>. <b>runsvdir</b> writes a dot to the readproctitle
+log every 15 minutes so that old error messages expire. <p>
+Normally <b>runsvdir</b>
+is started by <i><b>runit</b>(8)</i> in stage 2.
+<h2><a name='sect3' href='#toc3'>Signals</a></h2>
+If <b>runsvdir</b> receives a TERM signal,
+it exits with 0 immediately. <p>
+If <b>runsvdir</b> receives a HUP signal, it sends
+a TERM signal to each <i><b>runsv</b>(8)</i> process it is monitoring and then exits
with 111.
-<H2><A NAME="sect4">See Also</A></H2>
-<I>runsvchdir(8)</I>, <I>runsv(8)</I>, <I>runsvctrl(8)</I>, <I>runsvstat(8)</I>, <I>runit(8)</I>,
-<I>runit-init(8)</I>, <I>svlogd(8)</I>, <I>svwaitdown(8)</I>, <I>svwaitup(8)</I>, <I>readproctitle(8)</I>,
-<I>svscan(8)</I> <P>
- <I>http://smarden.org/runit/</I><BR>
- <I>http://cr.yp.to/daemontools.html</I><BR>
+<h2><a name='sect4' href='#toc4'>See Also</a></h2>
+<i>runsvchdir(8)</i>, <i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>runit(8)</i>,
+<i>runit-init(8)</i>, <i>svlogd(8)</i>, <i>svwaitdown(8)</i>, <i>svwaitup(8)</i>, <i>readproctitle(8)</i>,
+<i>svscan(8)</i> <p>
+ <i>http://smarden.org/runit/</i><br>
+ <i>http://cr.yp.to/daemontools.html</i><br>
-<H2><A NAME="sect5">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
+<h2><a name='sect5' href='#toc5'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Signals</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">See Also</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">Author</A></LI>
-</UL>
-</BODY></HTML>
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Signals</a></li>
+<li><a name='toc4' href='#sect4'>See Also</a></li>
+<li><a name='toc5' href='#sect5'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/runsvstat.8.html b/doc/runsvstat.8.html
@@ -1,62 +1,63 @@
-<HTML>
-<HEAD>
-<TITLE>runsvstat(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
-
-<H2><A NAME="sect0">Name</A></H2>
-runsvstat - prints the status of services monitored by <B><I>runsv</B>(8)</I>.
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>runsvstat</B>
-[ <B>-l</B> ] <I>services</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>services</I> consists of one or more arguments, each
-argument naming a directory. <P>
-<B>runsvstat</B> checks for each directory if <B><I>runsv</B>(8)</I>
-is successfully running this <I>service</I>, and if so, prints one human-readable
-line reporting the status of this <I>service</I>. Optionally <B><I>runsvstat</B>(8)</I> prints
+<html>
+<head>
+<title>runsvstat(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
+
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
+runsvstat - prints the status of services monitored by <i><b>runsv</b>(8)</i>.
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>runsvstat</b>
+[ <b>-l</b> ] <i>services</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>services</i> consists of one or more arguments, each
+argument naming a directory. <p>
+<b>runsvstat</b> checks for each directory if <i><b>runsv</b>(8)</i>
+is successfully running this <i>service</i>, and if so, prints one human-readable
+line reporting the status of this <i>service</i>. Optionally <i><b>runsvstat</b>(8)</i> prints
a second line, also in human-readable format, reporting the status of the
-corresponding <I>log</I> <I>service</I>.
-<H2><A NAME="sect3">Options</A></H2>
-
-<DL>
-
-<DT><B>-l</B> </DT>
-<DD>log service. Check for each <I>service</I> if
-there exists a corresponding <I>log</I> <I>service</I>. If so, print an additional, indented,
-line reporting the status of the <I>log</I> <I>service</I>. </DD>
-</DL>
-
-<H2><A NAME="sect4">Exit Codes</A></H2>
-<B>runsvstat</B> exits
-0, if the states of all <I>services</I> were reported successfully. <P>
-For each <I>service</I>
-that caused an error (e.g. the directory is not controlled by a <B><I>runsv</B>(8)</I>
-process), <B>runsvstat</B> increases the exit code by one and exits non zero. The
-maximum is 100. <P>
-<B>runsvstat</B> exits 111 on error.
-<H2><A NAME="sect5">See Also</A></H2>
-<I>runsvctrl(8)</I>, <I>runsv(8)</I>,
-<I>runsvdir(8)</I>, <I>runsvchdir(8)</I>, <I>runit(8)</I>, <I>runit-init(8)</I>, <I>svlogd(8)</I>, <I>svwaitdown(8)</I>,
-<I>svwaitup(8)</I> <P>
- <I>http://smarden.org/runit/</I><BR>
+corresponding <i>log</i> <i>service</i>.
+<h2><a name='sect3' href='#toc3'>Options</a></h2>
+
+<dl>
+
+<dt><b>-l</b> </dt>
+<dd>log service. Check for each <i>service</i> if
+there exists a corresponding <i>log</i> <i>service</i>. If so, print an additional, indented,
+line reporting the status of the <i>log</i> <i>service</i>. </dd>
+</dl>
+
+<h2><a name='sect4' href='#toc4'>Exit Codes</a></h2>
+<b>runsvstat</b> exits
+0, if the states of all <i>services</i> were reported successfully. <p>
+For each <i>service</i>
+that caused an error (e.g. the directory is not controlled by a <i><b>runsv</b>(8)</i>
+process), <b>runsvstat</b> increases the exit code by one and exits non zero. The
+maximum is 100. <p>
+<b>runsvstat</b> exits 111 on error.
+<h2><a name='sect5' href='#toc5'>See Also</a></h2>
+<i>runsvctrl(8)</i>, <i>runsv(8)</i>,
+<i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>svlogd(8)</i>, <i>svwaitdown(8)</i>,
+<i>svwaitup(8)</i> <p>
+ <i>http://smarden.org/runit/</i><br>
-<H2><A NAME="sect6">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
-
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Options</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Exit Codes</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">See Also</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Author</A></LI>
-</UL>
-</BODY></HTML>
+<h2><a name='sect6' href='#toc6'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
+
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Options</a></li>
+<li><a name='toc4' href='#sect4'>Exit Codes</a></li>
+<li><a name='toc5' href='#sect5'>See Also</a></li>
+<li><a name='toc6' href='#sect6'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/svlogd.8.html b/doc/svlogd.8.html
@@ -1,196 +1,197 @@
-<HTML>
-<HEAD>
-<TITLE>svlogd(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
-
-<H2><A NAME="sect0">Name</A></H2>
-svlogd - runit's service logging daemon
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>svlogd</B> [-tv] [-r <I>c]</I> [-R
-<I>xyz]</I> [-l <I>n]</I> [-b <I>n]</I> <I>logs</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>logs</I> consists of one or more arguments,
-each specifying a directory. <P>
-<B>svlogd</B> continuously reads log data from its
+<html>
+<head>
+<title>svlogd(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
+
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
+svlogd - runit’s service logging daemon
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>svlogd</b> [-tv] [-r <i>c]</i> [-R
+<i>xyz]</i> [-l <i>n]</i> [-b <i>n]</i> <i>logs</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>logs</i> consists of one or more arguments,
+each specifying a directory. <p>
+<b>svlogd</b> continuously reads log data from its
standard input, optionally filters log messages, and writes the data to
-one or more automatically rotated <I>logs</I>. <P>
+one or more automatically rotated <i>logs</i>. <p>
Recent log files can automatically
be processed by an arbitrary processor program when they are rotated, and
-<B>svlogd</B> can be told to alert selected log messages to standard error. <P>
-<B>svlogd</B>
+<b>svlogd</b> can be told to alert selected log messages to standard error. <p>
+<b>svlogd</b>
runs until it sees end-of-file on standard input or is sent a TERM signal,
see below.
-<H3><A NAME="sect3">Log Directory</A></H3>
-A log directory <I>log</I> contains some number of old
-log files, and the current log file <I>current</I>. Old log files have a file name
-starting with <I>@</I> followed by a precise timestamp (see <B><I>tai64n</B>(8)</I>), indicating
-when <I>current</I> was rotated and renamed to this file. <P>
+<h3><a name='sect3' href='#toc3'>Log Directory</a></h3>
+A log directory <i>log</i> contains some number of old
+log files, and the current log file <i>current</i>. Old log files have a file name
+starting with <i>@</i> followed by a precise timestamp (see <i><b>tai64n</b>(8)</i>), indicating
+when <i>current</i> was rotated and renamed to this file. <p>
A log directory additionally
-contains the lock file <I>lock</I>, maybe <I>state</I> and <I>newstate</I>, and optionally the
-file <I>config</I>. <B>svlogd</B> creates necessary files if they don't exist. <P>
-If <B>svlogd</B>
+contains the lock file <i>lock</i>, maybe <i>state</i> and <i>newstate</i>, and optionally the
+file <i>config</i>. <b>svlogd</b> creates necessary files if they don’t exist. <p>
+If <b>svlogd</b>
has trouble opening a log directory, it prints a warning, and ignores this
-log directory. If <B>svlogd</B> is unable to open all log directories given at
+log directory. If <b>svlogd</b> is unable to open all log directories given at
the command line, it exits with an error. This can happen on start-up or
after receiving a HUP signal.
-<H3><A NAME="sect4">Log File Rotation</A></H3>
-<B>svlogd</B> appends selected log
-messages to the <I>current</I> log file. If <I>current</I> has <I>size</I> bytes or more size
-(or there is a new-line within the last <I>len</I> of <I>size</I> bytes) <I>current</I> is rotated:
-<P>
-<B>svlogd</B> closes <I>current</I>, changes permission of <I>current</I> to 0755, renames <I>current</I>
-to @<I>timestamp.s,</I> and starts with a new empty <I>current</I>. If <B>svlogd</B> sees <I>num</I>
-or more old log files in <I>dir</I>, it removes the oldest.
-<H3><A NAME="sect5">Processor</A></H3>
-If <B>svlogd</B>
-is told to process recent log files, it saves <I>current</I> to @<I>timestamp.u,</I> feeds
-@<I>timestamp.u</I> through ``sh -c "<I>processor</I>"'' and writes the output to @<I>timestamp.t.</I>
-If the <I>processor</I> finishes successfully, @<I>timestamp.u</I> is deleted and @<I>timestamp.t</I>
-is renamed to @<I>timestamp.s,</I> otherwise @<I>timestamp.t</I> is deleted and the <I>processor</I>
-is started again. <B>svlogd</B> also saves any output that the <I>processor</I> writes
+<h3><a name='sect4' href='#toc4'>Log File Rotation</a></h3>
+<b>svlogd</b> appends selected log
+messages to the <i>current</i> log file. If <i>current</i> has <i>size</i> bytes or more size
+(or there is a new-line within the last <i>len</i> of <i>size</i> bytes) <i>current</i> is rotated:
+<p>
+<b>svlogd</b> closes <i>current</i>, changes permission of <i>current</i> to 0755, renames <i>current</i>
+to @<i>timestamp.s,</i> and starts with a new empty <i>current</i>. If <b>svlogd</b> sees <i>num</i>
+or more old log files in <i>dir</i>, it removes the oldest.
+<h3><a name='sect5' href='#toc5'>Processor</a></h3>
+If <b>svlogd</b>
+is told to process recent log files, it saves <i>current</i> to @<i>timestamp.u,</i> feeds
+@<i>timestamp.u</i> through ‘‘sh -c "<i>processor</i>"’’ and writes the output to @<i>timestamp.t.</i>
+If the <i>processor</i> finishes successfully, @<i>timestamp.u</i> is deleted and @<i>timestamp.t</i>
+is renamed to @<i>timestamp.s,</i> otherwise @<i>timestamp.t</i> is deleted and the <i>processor</i>
+is started again. <b>svlogd</b> also saves any output that the <i>processor</i> writes
to file descriptor 5, and make that output available on file descriptor
-4 when it runs <I>processor</I> on the next log file rotation. <P>
-A <I>processor</I> is run
-in the background. If <B>svlogd</B> sees a previously started <I>processor</I> still running
-when trying to start a new one for the same <I>log</I>, it blocks until the currently
-running <I>processor</I> has finished successfully. Only the HUP signal works in
+4 when it runs <i>processor</i> on the next log file rotation. <p>
+A <i>processor</i> is run
+in the background. If <b>svlogd</b> sees a previously started <i>processor</i> still running
+when trying to start a new one for the same <i>log</i>, it blocks until the currently
+running <i>processor</i> has finished successfully. Only the HUP signal works in
that situation. Note that this may block any program feeding its log data
-to <B>svlogd.</B> <P>
-
-<H3><A NAME="sect6">Config</A></H3>
-On startup, and after receiving a HUP signal, <B>svlogd</B> checks
-for each <I>log</I> if the configuration file <I>log/config</I> exists, and if so, reads
-the file line by line and adjusts configuration for <I>log</I> as follows: <P>
+to <b>svlogd.</b>
+<p>
+<h3><a name='sect6' href='#toc6'>Config</a></h3>
+On startup, and after receiving a HUP signal, <b>svlogd</b> checks
+for each <i>log</i> if the configuration file <i>log/config</i> exists, and if so, reads
+the file line by line and adjusts configuration for <i>log</i> as follows: <p>
If
-the line is empty, less than two characters long, or starts with a ``#'', it
+the line is empty, less than two characters long, or starts with a ‘‘#’’, it
is ignored. A line of the form
-<DL>
-
-<DT>s<I>size</I> </DT>
-<DD>sets the maximum file size of <I>current</I>
-when <B>svlogd</B> should rotate the current log file to <I>size</I> bytes. Default is
-1000000. If <I>size</I> is zero, <B>svlogd</B> doesn't rotate log files. You should set
-<I>size</I> to at least (2 * <I>len</I>). </DD>
-
-<DT>n<I>num</I> </DT>
-<DD>sets the maximum number of old log files
-<B>svlogd</B> should maintain to <I>num</I>. If <B>svlogd</B> sees more that <I>num</I> old log files
-in <I>log</I> after log file rotation, it deletes the oldest one. Default is 10.
-</DD>
-
-<DT>!<I>processor</I> </DT>
-<DD>tells <B>svlogd</B> to feed each recent log file through <I>processor</I>
+<dl>
+
+<dt>s<i>size</i> </dt>
+<dd>sets the maximum file size of <i>current</i>
+when <b>svlogd</b> should rotate the current log file to <i>size</i> bytes. Default is
+1000000. If <i>size</i> is zero, <b>svlogd</b> doesn’t rotate log files. You should set
+<i>size</i> to at least (2 * <i>len</i>). </dd>
+
+<dt>n<i>num</i> </dt>
+<dd>sets the maximum number of old log files
+<b>svlogd</b> should maintain to <i>num</i>. If <b>svlogd</b> sees more that <i>num</i> old log files
+in <i>log</i> after log file rotation, it deletes the oldest one. Default is 10.
+</dd>
+
+<dt>!<i>processor</i> </dt>
+<dd>tells <b>svlogd</b> to feed each recent log file through <i>processor</i>
(see above) on log file rotation. By default log files are not processed.
-</DD>
-</DL>
-<P>
-If a line starts with a <I>-</I>, <I>+</I>, <I>e</I>, or <I>E</I>, <B>svlogd</B> matches the first <I>len</I> characters
-of each log message against <I>pattern</I> and acts accordingly:
-<DL>
-
-<DT>-<I>pattern</I> </DT>
-<DD>the log
-message is deselected. </DD>
-
-<DT>+<I>pattern</I> </DT>
-<DD>the log message is selected </DD>
-
-<DT>e<I>pattern</I> </DT>
-<DD>log
-messages matching <I>pattern</I> are printed to standard error. </DD>
-
-<DT>E<I>pattern</I> </DT>
-<DD>log messages
-not matching <I>pattern</I> are printed to standard error. </DD>
-</DL>
-<P>
+</dd>
+</dl>
+<p>
+If a line starts with a <i>-</i>, <i>+</i>, <i>e</i>, or <i>E</i>, <b>svlogd</b> matches the first <i>len</i> characters
+of each log message against <i>pattern</i> and acts accordingly:
+<dl>
+
+<dt>-<i>pattern</i> </dt>
+<dd>the log
+message is deselected. </dd>
+
+<dt>+<i>pattern</i> </dt>
+<dd>the log message is selected </dd>
+
+<dt>e<i>pattern</i> </dt>
+<dd>log
+messages matching <i>pattern</i> are printed to standard error. </dd>
+
+<dt>E<i>pattern</i> </dt>
+<dd>log messages
+not matching <i>pattern</i> are printed to standard error. </dd>
+</dl>
+<p>
Initially each line
-is selected. Deselected log messages are discarded from <I>log</I>.
-<H2><A NAME="sect7">Pattern Matching</A></H2>
-<B>svlogd</B>
-matches a log message against the string <I>pattern</I> as follows: <P>
-<I>pattern</I> is
+is selected. Deselected log messages are discarded from <i>log</i>.
+<h2><a name='sect7' href='#toc7'>Pattern Matching</a></h2>
+<b>svlogd</b>
+matches a log message against the string <i>pattern</i> as follows: <p>
+<i>pattern</i> is
applied to the log message one character by one, starting with the first.
-A character not a star (``*'') and not a plus (``+'') matches itself. A plus matches
-the next character in <I>pattern</I> in the log message one or more times. A star
-before the end of <I>pattern</I> matches any string in the log message that does
-not include the next character in <I>pattern</I>. A star at the end of <I>pattern</I>
+A character not a star (‘‘*’’) and not a plus (‘‘+’’) matches itself. A plus matches
+the next character in <i>pattern</i> in the log message one or more times. A star
+before the end of <i>pattern</i> matches any string in the log message that does
+not include the next character in <i>pattern</i>. A star at the end of <i>pattern</i>
matches any string.
-<H2><A NAME="sect8">Options</A></H2>
-
-<DL>
-
-<DT><B>-t</B> </DT>
-<DD>timestamp. Prefix each selected line with a
-precise timestamp (see <B><I>tai64n</B>(8)</I>) when writing to <I>log</I> or to standard error.
-</DD>
-
-<DT><B>-r <I>c</B> </I></DT>
-<DD>replace. <I>c</I> must be a single character. Replace non-printable characters
-in log messages with <I>c</I>. Characters are replaced before pattern matching
-is applied. </DD>
-
-<DT><B>-R <I>xyz</B> </I></DT>
-<DD>replace charset. Additionally to non-printable characters,
-replace all characters found in <I>xyz</I> with <I>c</I> (default ``_''). </DD>
-
-<DT><B>-l <I>len</B> </I></DT>
-<DD>line length.
-Pattern matching applies to the first <I>len</I> characters of a log message only.
-Default is 1000. </DD>
-
-<DT><B>-b <I>buflen</B> </I></DT>
-<DD>buffer size. Set the size of the buffer <B>svlogd</B>
-uses when reading from standard input and writing to <I>logs</I> to <I>buflen</I>. Default
-is 1024. <I>buflen</I> must be greater than <I>len</I>. </DD>
-
-<DT><B>-v</B> </DT>
-<DD>verbose. Print verbose messages
-to standard error. </DD>
-</DL>
-
-<H2><A NAME="sect9">Signals</A></H2>
-If <B>svlogd</B> is sent a HUP signal, it closes and
-reopens all <I>logs</I>, and updates their configuration according to <I>log/config</I>.
-If <B>svlogd</B> has trouble opening a log directory, it prints a warning, and
-discards this log directory. If <B>svlogd</B> is unable to open all log directories
-given at the command line, it exits with an error. <P>
-If <B>svlogd</B> is sent a TERM
+<h2><a name='sect8' href='#toc8'>Options</a></h2>
+
+<dl>
+
+<dt><b>-t</b> </dt>
+<dd>timestamp. Prefix each selected line with a
+precise timestamp (see <i><b>tai64n</b>(8)</i>) when writing to <i>log</i> or to standard error.
+</dd>
+
+<dt><b>-r <i>c</b> </i></dt>
+<dd>replace. <i>c</i> must be a single character. Replace non-printable characters
+in log messages with <i>c</i>. Characters are replaced before pattern matching
+is applied. </dd>
+
+<dt><b>-R <i>xyz</b> </i></dt>
+<dd>replace charset. Additionally to non-printable characters,
+replace all characters found in <i>xyz</i> with <i>c</i> (default ‘‘_’’). </dd>
+
+<dt><b>-l <i>len</b> </i></dt>
+<dd>line length.
+Pattern matching applies to the first <i>len</i> characters of a log message only.
+Default is 1000. </dd>
+
+<dt><b>-b <i>buflen</b> </i></dt>
+<dd>buffer size. Set the size of the buffer <b>svlogd</b>
+uses when reading from standard input and writing to <i>logs</i> to <i>buflen</i>. Default
+is 1024. <i>buflen</i> must be greater than <i>len</i>. </dd>
+
+<dt><b>-v</b> </dt>
+<dd>verbose. Print verbose messages
+to standard error. </dd>
+</dl>
+
+<h2><a name='sect9' href='#toc9'>Signals</a></h2>
+If <b>svlogd</b> is sent a HUP signal, it closes and
+reopens all <i>logs</i>, and updates their configuration according to <i>log/config</i>.
+If <b>svlogd</b> has trouble opening a log directory, it prints a warning, and
+discards this log directory. If <b>svlogd</b> is unable to open all log directories
+given at the command line, it exits with an error. <p>
+If <b>svlogd</b> is sent a TERM
signal, or if it sees end-of-file on standard input, it stops reading standard
-input, processes the data in the buffer, waits for all <I>processor</I> subprocesses
-to finish if any, and exits 0 as soon as possible. <P>
-If <B>svlogd</B> is sent an
-ALRM signal, it forces log file rotation for all <I>logs</I> with a non empty
-<I>current</I> log file.
-<H2><A NAME="sect10">See Also</A></H2>
-<I>runsv(8)</I>, <I>runsvstat(8)</I>, <I>runsvctrl(8)</I>, <I>runsvdir(8)</I>,
-<I>runsvchdir(8)</I>, <I>runit(8)</I>, <I>runit-init(8)</I>, <I>multilog(8)</I> <P>
-<I>http://smarden.org/runit/</I>
-
-<H2><A NAME="sect11">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
-
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<UL>
-<LI><A NAME="toc3" HREF="#sect3">Log Directory</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Log File Rotation</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">Processor</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Config</A></LI>
-</UL>
-<LI><A NAME="toc7" HREF="#sect7">Pattern Matching</A></LI>
-<LI><A NAME="toc8" HREF="#sect8">Options</A></LI>
-<LI><A NAME="toc9" HREF="#sect9">Signals</A></LI>
-<LI><A NAME="toc10" HREF="#sect10">See Also</A></LI>
-<LI><A NAME="toc11" HREF="#sect11">Author</A></LI>
-</UL>
-</BODY></HTML>
+input, processes the data in the buffer, waits for all <i>processor</i> subprocesses
+to finish if any, and exits 0 as soon as possible. <p>
+If <b>svlogd</b> is sent an
+ALRM signal, it forces log file rotation for all <i>logs</i> with a non empty
+<i>current</i> log file.
+<h2><a name='sect10' href='#toc10'>See Also</a></h2>
+<i>runsv(8)</i>, <i>runsvstat(8)</i>, <i>runsvctrl(8)</i>, <i>runsvdir(8)</i>,
+<i>runsvchdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>multilog(8)</i> <p>
+<i>http://smarden.org/runit/</i>
+
+<h2><a name='sect11' href='#toc11'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
+
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<ul>
+<li><a name='toc3' href='#sect3'>Log Directory</a></li>
+<li><a name='toc4' href='#sect4'>Log File Rotation</a></li>
+<li><a name='toc5' href='#sect5'>Processor</a></li>
+<li><a name='toc6' href='#sect6'>Config</a></li>
+</ul>
+<li><a name='toc7' href='#sect7'>Pattern Matching</a></li>
+<li><a name='toc8' href='#sect8'>Options</a></li>
+<li><a name='toc9' href='#sect9'>Signals</a></li>
+<li><a name='toc10' href='#sect10'>See Also</a></li>
+<li><a name='toc11' href='#sect11'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/svwaitdown.8.html b/doc/svwaitdown.8.html
@@ -1,82 +1,83 @@
-<HTML>
-<HEAD>
-<TITLE>svwaitdown(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
+<html>
+<head>
+<title>svwaitdown(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
-<H2><A NAME="sect0">Name</A></H2>
-svwaitdown - waits for services controlled by <I>runsv(8)</I> or <I>supervise(8)</I>
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
+svwaitdown - waits for services controlled by <i>runsv(8)</i> or <i>supervise(8)</i>
to be down
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>svwaitdown</B> [ <B>-v</B> ] [ <B>-k</B> ] [ <B>-t</B> <I>sec</I> ] <I>services</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>services</I>
-consists of one or more arguments. Each <I>service</I> directory must start with
-a slash. <P>
-<B>svwaitdown</B> sends each <I>service</I> given at the command line the ``down''
-command, and waits for it to become down. The <I>services</I> given at the command
-line must be controlled by <B><I>runsv</B>(8)</I>, or <B><I>supervise</B>(8)</I>. <P>
-<B>svwaitdown</B> blocks,
-limited by a <I>timeout</I>, until all <I>services</I> are down or reports errors.
-<H2><A NAME="sect3">Options</A></H2>
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>svwaitdown</b> [ <b>-v</b> ] [ <b>-k</b> ] [ <b>-t</b> <i>sec</i> ] <i>services</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>services</i>
+consists of one or more arguments. Each <i>service</i> directory must start with
+a slash. <p>
+<b>svwaitdown</b> sends each <i>service</i> given at the command line the ‘‘down’’
+command, and waits for it to become down. The <i>services</i> given at the command
+line must be controlled by <i><b>runsv</b>(8)</i>, or <i><b>supervise</b>(8)</i>. <p>
+<b>svwaitdown</b> blocks,
+limited by a <i>timeout</i>, until all <i>services</i> are down or reports errors.
+<h2><a name='sect3' href='#toc3'>Options</a></h2>
-<DL>
+<dl>
-<DT><B>-v</B>
-</DT>
-<DD>verbose. Print verbose messages to stderr. </DD>
+<dt><b>-v</b>
+</dt>
+<dd>verbose. Print verbose messages to stderr. </dd>
-<DT><B>-t <I>sec</B> </I></DT>
-<DD>Set the timeout for waiting
-for <I>services</I> to become down to <I>sec</I> seconds. <I>sec</I> must be between 2 and 6000.
-Default is 600 (10 minutes). </DD>
+<dt><b>-t <i>sec</b> </i></dt>
+<dd>Set the timeout for waiting
+for <i>services</i> to become down to <i>sec</i> seconds. <i>sec</i> must be between 2 and 6000.
+Default is 600 (10 minutes). </dd>
-<DT><B>-k</B> </DT>
-<DD>Kill. If the timeout is reached before all
-<I>services</I> are down, tell the <B><I>runsv</B>(8)</I> processes to send the <I>services</I> a KILL
-signal. </DD>
+<dt><b>-k</b> </dt>
+<dd>Kill. If the timeout is reached before all
+<i>services</i> are down, tell the <i><b>runsv</b>(8)</i> processes to send the <i>services</i> a KILL
+signal. </dd>
-<DT><B>-x</B> </DT>
-<DD>Exit. Send each <I>service</I> the ``exit'' command additionally to the ``down''
-command, and wait for the corresponding <B><I>runsv</B>(8)</I> processes to exit instead
-for the <I>services</I> to be down. This option should only be used by <B><I>runit</B>(8)</I>
-in stage 3 when <B><I>runsvdir</B>(8)</I> is already stopped. </DD>
-</DL>
+<dt><b>-x</b> </dt>
+<dd>Exit. Send each <i>service</i> the ‘‘exit’’ command additionally to the ‘‘down’’
+command, and wait for the corresponding <i><b>runsv</b>(8)</i> processes to exit instead
+for the <i>services</i> to be down. This option should only be used by <i><b>runit</b>(8)</i>
+in stage 3 when <i><b>runsvdir</b>(8)</i> is already stopped. </dd>
+</dl>
-<H2><A NAME="sect4">Exit Codes</A></H2>
-<B>svwaitdown</B> returns
-0 as soon as all <I>services</I> are down. <P>
-If a <I>service</I> is usually controlled by
-<B><I>runsv (8)</B></I> or <B><I>supervise</B>(8)</I>, but no supervisor process is currently running,
-<B>svwaitdown</B> treats this <I>service</I> as if it would be down. <P>
-For each <I>service</I>
-that causes an error while checking, <B>svwaitdown</B> increases the exit code
-by one and exits non zero. The maximum is 100. <P>
-<B>svwaitdown</B> returns 111 if
-the timeout <I>sec</I> was reached.
-<H2><A NAME="sect5">See Also</A></H2>
-<I>svwaitdown(8)</I>, <I>runsv(8)</I>, <I>runsvctrl(8)</I>,
-<I>runsvstat(8)</I>, <I>runsvdir(8)</I>, <I>runsvchdir(8)</I>, <I>runit(8)</I>, <I>runit-init(8)</I>, <I>supervise(8)</I>,
-<I>svscan(8)</I> <P>
- <I>http://smarden.org/runit/</I><BR>
- <I>http://cr.yp.to/daemontools.html</I><BR>
+<h2><a name='sect4' href='#toc4'>Exit Codes</a></h2>
+<b>svwaitdown</b> returns
+0 as soon as all <i>services</i> are down. <p>
+If a <i>service</i> is usually controlled by
+<i><b>runsv (8)</b></i> or <i><b>supervise</b>(8)</i>, but no supervisor process is currently running,
+<b>svwaitdown</b> treats this <i>service</i> as if it would be down. <p>
+For each <i>service</i>
+that causes an error while checking, <b>svwaitdown</b> increases the exit code
+by one and exits non zero. The maximum is 100. <p>
+<b>svwaitdown</b> returns 111 if
+the timeout <i>sec</i> was reached.
+<h2><a name='sect5' href='#toc5'>See Also</a></h2>
+<i>svwaitdown(8)</i>, <i>runsv(8)</i>, <i>runsvctrl(8)</i>,
+<i>runsvstat(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>supervise(8)</i>,
+<i>svscan(8)</i> <p>
+ <i>http://smarden.org/runit/</i><br>
+ <i>http://cr.yp.to/daemontools.html</i><br>
-<H2><A NAME="sect6">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
+<h2><a name='sect6' href='#toc6'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Options</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Exit Codes</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">See Also</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Author</A></LI>
-</UL>
-</BODY></HTML>
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Options</a></li>
+<li><a name='toc4' href='#sect4'>Exit Codes</a></li>
+<li><a name='toc5' href='#sect5'>See Also</a></li>
+<li><a name='toc6' href='#sect6'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/svwaitup.8.html b/doc/svwaitup.8.html
@@ -1,73 +1,74 @@
-<HTML>
-<HEAD>
-<TITLE>svwaitup(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
+<html>
+<head>
+<title>svwaitup(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
-<H2><A NAME="sect0">Name</A></H2>
-svwaitup - waits for services controlled by <I>runsv(8)</I> or <I>supervise(8)</I>
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
+svwaitup - waits for services controlled by <i>runsv(8)</i> or <i>supervise(8)</i>
to be up
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>svwaitup</B> [ <B>-v</B> ] [ <B>-s</B> <I>sec</I> ] <I>services</I>
-<H2><A NAME="sect2">Description</A></H2>
-<I>services</I>
-consist of one or more arguments. Each <I>service</I> directory must start with
-a slash. <P>
-<B>svwaitup</B> checks each <I>service</I> given at the command line for being
-at least the specified number of seconds <I>sec</I> up. The <I>services</I> given at the
-command line must be controlled by <B><I>runsv</B>(8)</I>, or <B><I>supervise</B>(8)</I>. <P>
-<B>svwaitup</B> blocks
-until all <I>services</I> were up and running at least <I>sec</I> seconds when <B>svwaitup</B>
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>svwaitup</b> [ <b>-v</b> ] [ <b>-s</b> <i>sec</i> ] <i>services</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+<i>services</i>
+consist of one or more arguments. Each <i>service</i> directory must start with
+a slash. <p>
+<b>svwaitup</b> checks each <i>service</i> given at the command line for being
+at least the specified number of seconds <i>sec</i> up. The <i>services</i> given at the
+command line must be controlled by <i><b>runsv</b>(8)</i>, or <i><b>supervise</b>(8)</i>. <p>
+<b>svwaitup</b> blocks
+until all <i>services</i> were up and running at least <i>sec</i> seconds when <b>svwaitup</b>
was checking or reports errors.
-<H2><A NAME="sect3">Options</A></H2>
+<h2><a name='sect3' href='#toc3'>Options</a></h2>
-<DL>
+<dl>
-<DT><B>-v</B> </DT>
-<DD>verbose. Print verbose messages
-to stderr. </DD>
+<dt><b>-v</b> </dt>
+<dd>verbose. Print verbose messages
+to stderr. </dd>
-<DT><B>-s <I>sec</B> </I></DT>
-<DD>Set the minimum number of seconds each <I>service</I> has to be
-up to <I>sec</I> seconds. <I>sec</I> must be between 2 and 600. Default is 2. </DD>
-</DL>
+<dt><b>-s <i>sec</b> </i></dt>
+<dd>Set the minimum number of seconds each <i>service</i> has to be
+up to <i>sec</i> seconds. <i>sec</i> must be between 2 and 600. Default is 2. </dd>
+</dl>
-<H2><A NAME="sect4">Exit Codes</A></H2>
-<B>svwaitup</B>
-returns 0 as soon as all <I>services</I> were at least <I>sec</I> seconds up. <P>
-<B>Note</B>: If
-<B>svwaitup</B> exits 0, it does not guarantee that all <I>services</I> are actually
-running. A <I>service</I> could have crashed immediatly after <B>svwaitup</B> was successfully
-checking it to be up <I>sec</I> seconds. <I>services</I> should be designed not to rely
-on <B>svwaitup</B> to resolve dependencies. <P>
-For each <I>service</I> that is down and not
-requested to become up, or that causes an error while checking (e.g. <B><I>runsv</B>(8)</I>
-is not running), <B>svwaitup</B> increases the exit code by one and exits non
-zero. The maximum is 100. <P>
-<B>svwaitup</B> returns 111 on error.
-<H2><A NAME="sect5">See Also</A></H2>
-<I>svwaitdown(8)</I>,
-<I>runsv(8)</I>, <I>runsvctrl(8)</I>, <I>runsvstat(8)</I>, <I>runsvdir(8)</I>, <I>runsvchdir(8)</I>, <I>runit(8)</I>,
-<I>runit-init(8)</I>, <I>supervise(8)</I>, <I>svscan(8)</I> <P>
- <I>http://smarden.org/runit/</I><BR>
- <I>http://cr.yp.to/daemontools.html</I><BR>
+<h2><a name='sect4' href='#toc4'>Exit Codes</a></h2>
+<b>svwaitup</b>
+returns 0 as soon as all <i>services</i> were at least <i>sec</i> seconds up. <p>
+<b>Note</b>: If
+<b>svwaitup</b> exits 0, it does not guarantee that all <i>services</i> are actually
+running. A <i>service</i> could have crashed immediatly after <b>svwaitup</b> was successfully
+checking it to be up <i>sec</i> seconds. <i>services</i> should be designed not to rely
+on <b>svwaitup</b> to resolve dependencies. <p>
+For each <i>service</i> that is down and not
+requested to become up, or that causes an error while checking (e.g. <i><b>runsv</b>(8)</i>
+is not running), <b>svwaitup</b> increases the exit code by one and exits non
+zero. The maximum is 100. <p>
+<b>svwaitup</b> returns 111 on error.
+<h2><a name='sect5' href='#toc5'>See Also</a></h2>
+<i>svwaitdown(8)</i>,
+<i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>runit(8)</i>,
+<i>runit-init(8)</i>, <i>supervise(8)</i>, <i>svscan(8)</i> <p>
+ <i>http://smarden.org/runit/</i><br>
+ <i>http://cr.yp.to/daemontools.html</i><br>
-<H2><A NAME="sect6">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
+<h2><a name='sect6' href='#toc6'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Options</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Exit Codes</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">See Also</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Author</A></LI>
-</UL>
-</BODY></HTML>
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Options</a></li>
+<li><a name='toc4' href='#sect4'>Exit Codes</a></li>
+<li><a name='toc5' href='#sect5'>See Also</a></li>
+<li><a name='toc6' href='#sect6'>Author</a></li>
+</ul>
+</body>
+</html>
diff --git a/doc/utmpset.8.html b/doc/utmpset.8.html
@@ -1,61 +1,62 @@
-<HTML>
-<HEAD>
-<TITLE>utmpset(8) manual page</TITLE>
-</HEAD>
-<BODY bgcolor=white>
-<a href="http://smarden.org/pape/">G. Pape</a><br><A HREF="index.html">runit</A><hr><P>
-
-<H2><A NAME="sect0">Name</A></H2>
+<html>
+<head>
+<title>utmpset(8) manual page</title>
+</head>
+<body bgcolor='white'>
+<a href='#toc'>Table of Contents</a><p>
+
+<h2><a name='sect0' href='#toc0'>Name</a></h2>
utmpset - logout a line from utmp and wtmp file
-<H2><A NAME="sect1">Synopsis</A></H2>
-<B>utmpset</B> [ <B>-w</B>
-] <I>line</I>
-<H2><A NAME="sect2">Description</A></H2>
-The <B>utmpset</B> program modifies the user accounting database
-<B><I>utmp</B>(5)</I> and optionally <B><I>wtmp</B>(5)</I> to indicate that the user on the terminal
-<I>line</I> has logged out. <P>
-Ordinary <B><I>init</B>(8)</I> processes handle utmp file records
-for local login accounting. The <B><I>runit</B>(8)</I> program doesn't include code to
-update the utmp file, the <B><I>getty</B>(8)</I> processes are handled the same as all
-other services. <P>
-To enable local login accounting, add <B>utmpset</B> to the <B><I>getty</B>(8)</I>
-run scripts, e.g.: <P>
- #!/bin/sh<BR>
- /command/utmpset -w tty5<BR>
- exec /sbin/getty 38400 tty5 linux<BR>
+<h2><a name='sect1' href='#toc1'>Synopsis</a></h2>
+<b>utmpset</b> [ <b>-w</b>
+] <i>line</i>
+<h2><a name='sect2' href='#toc2'>Description</a></h2>
+The <b>utmpset</b> program modifies the user accounting database
+<i><b>utmp</b>(5)</i> and optionally <i><b>wtmp</b>(5)</i> to indicate that the user on the terminal
+<i>line</i> has logged out. <p>
+Ordinary <i><b>init</b>(8)</i> processes handle utmp file records
+for local login accounting. The <i><b>runit</b>(8)</i> program doesn’t include code to
+update the utmp file, the <i><b>getty</b>(8)</i> processes are handled the same as all
+other services. <p>
+To enable local login accounting, add <b>utmpset</b> to the <i><b>getty</b>(8)</i>
+run scripts, e.g.: <p>
+ #!/bin/sh<br>
+ /command/utmpset -w tty5<br>
+ exec /sbin/getty 38400 tty5 linux<br>
-<H2><A NAME="sect3">Options</A></H2>
+<h2><a name='sect3' href='#toc3'>Options</a></h2>
-<DL>
+<dl>
-<DT><B>-w</B> </DT>
-<DD>wtmp. Additionally to the utmp file, write an empty record for
-<I>line</I> to the wtmp file. </DD>
-</DL>
+<dt><b>-w</b> </dt>
+<dd>wtmp. Additionally to the utmp file, write an empty record for
+<i>line</i> to the wtmp file. </dd>
+</dl>
-<H2><A NAME="sect4">Exit Codes</A></H2>
-<B>utmpset</B> returns 111 on error, 1 on wrong
+<h2><a name='sect4' href='#toc4'>Exit Codes</a></h2>
+<b>utmpset</b> returns 111 on error, 1 on wrong
usage, 0 in all other cases.
-<H2><A NAME="sect5">See Also</A></H2>
-<I>runsv(8)</I>, <I>runsvctrl(8)</I>, <I>runsvstat(8)</I>,
-<I>runsvdir(8)</I>, <I>runsvchdir(8)</I>, <I>runit(8)</I>, <I>runit-init(8)</I>, <I>getty(8)</I> <P>
-<I>http://smarden.org/runit/</I>
-
-<H2><A NAME="sect6">Author</A></H2>
-Gerrit Pape <pape@smarden.org> <P>
-
-<HR><P>
-<A NAME="toc"><B>Table of Contents</B></A><P>
-<UL>
-<LI><A NAME="toc0" HREF="#sect0">Name</A></LI>
-<LI><A NAME="toc1" HREF="#sect1">Synopsis</A></LI>
-<LI><A NAME="toc2" HREF="#sect2">Description</A></LI>
-<LI><A NAME="toc3" HREF="#sect3">Options</A></LI>
-<LI><A NAME="toc4" HREF="#sect4">Exit Codes</A></LI>
-<LI><A NAME="toc5" HREF="#sect5">See Also</A></LI>
-<LI><A NAME="toc6" HREF="#sect6">Author</A></LI>
-</UL>
-</BODY></HTML>
+<h2><a name='sect5' href='#toc5'>See Also</a></h2>
+<i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>,
+<i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>getty(8)</i> <p>
+<i>http://smarden.org/runit/</i>
+
+<h2><a name='sect6' href='#toc6'>Author</a></h2>
+Gerrit Pape <pape@smarden.org> <p>
+
+<hr><p>
+<a name='toc'><b>Table of Contents</b></a><p>
+<ul>
+<li><a name='toc0' href='#sect0'>Name</a></li>
+<li><a name='toc1' href='#sect1'>Synopsis</a></li>
+<li><a name='toc2' href='#sect2'>Description</a></li>
+<li><a name='toc3' href='#sect3'>Options</a></li>
+<li><a name='toc4' href='#sect4'>Exit Codes</a></li>
+<li><a name='toc5' href='#sect5'>See Also</a></li>
+<li><a name='toc6' href='#sect6'>Author</a></li>
+</ul>
+</body>
+</html>