runit

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit a9846bde7cdf7f8a0e99231a0e971e9938ba093f
parent a36d2b81fe572de50db2e3190afa07c0b16b613f
Author: Gerrit Pape <pape@smarden.org>
Date:   Sun, 18 Dec 2005 11:19:03 +0000

html.

Diffstat:
Mdoc/chpst.8.html | 34++++++++++++++++------------------
Mdoc/runit-init.8.html | 6+++---
Mdoc/runit.8.html | 8++++----
Mdoc/runsv.8.html | 19+++++++++----------
Mdoc/runsvchdir.8.html | 3+--
Mdoc/runsvctrl.8.html | 11+++++------
Mdoc/runsvdir.8.html | 13++++++-------
Mdoc/runsvstat.8.html | 9++++-----
Mdoc/sv.8.html | 8++++----
Mdoc/svlogd.8.html | 275+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Mdoc/svwaitdown.8.html | 9++++-----
Mdoc/svwaitup.8.html | 10+++++-----
Mdoc/utmpset.8.html | 8++++----
13 files changed, 209 insertions(+), 204 deletions(-)

diff --git a/doc/chpst.8.html b/doc/chpst.8.html @@ -33,23 +33,21 @@ 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>&rsquo;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>&rsquo;s gid instead of <i>user</i>&rsquo;s gid. If <i>group</i> consists -of a colon-separated list of group names, <b>chpst</b> sets the group ids of all -listed groups. All initial supplementary groups are removed. </dd> +a <i>group</i>, set $GID to the <i>group</i>&rsquo;s gid instead of <i>user</i>&rsquo;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> +<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>-/ <i>root</b> </i></dt> -<dd>chroot. Change the -root directory to <i>root</i> before starting <i>prog</i>. </dd> +<dd>chroot. Change the root +directory to <i>root</i> before starting <i>prog</i>. </dd> <dt><b>-n <i>inc</b> </i></dt> <dd>nice. Add <i>inc</i> to the <i><b>nice</b>(2)</i> @@ -112,12 +110,12 @@ 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 <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. +If <b>chpst</b> is called as <b>envdir</b>, <b>envuidgid</b>, <b>pgrphack</b>, <b>setlock</b>, +<b>setuidgid</b>, or <b>softlimit</b>, 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>sv(8)</i>, <i>runsv(8)</i>, <i>setsid(2)</i>, +<i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i> <p> <i>http://smarden.org/runit/</i><br> <i>http://cr.yp.to/daemontools.html</i><br> diff --git a/doc/runit-init.8.html b/doc/runit-init.8.html @@ -40,9 +40,9 @@ execute by owner permission of the files <i>/etc/runit/reboot</i> and <i>/etc/ru returns 111 on error, 0 in all other cases. <h2><a name='sect4'>See Also</a></h2> <i>runit(8)</i>, <i>runsvdir(8)</i>, -<i>runsvchdir(8)</i>, <i>utmpset(8)</i>, <i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>chpst(8)</i>, -<i>svlogd(8)</i> <p> -<i>http://smarden.org/runit/</i> +<i>runsvchdir(8)</i>, <i>sv(8)</i>, <i>runsv(8)</i>, <i>chpst(8)</i>, <i>utmpset(8)</i>, <i>svlogd(8)</i> <p> +<i>http://smarden.org/runit/</i> + <h2><a name='sect5'>Author</a></h2> Gerrit Pape &lt;pape@smarden.org&gt; <p> diff --git a/doc/runit.8.html b/doc/runit.8.html @@ -49,12 +49,12 @@ 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>utmpset(8)</i>, <i>runsv(8)</i>, -<i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>svwaitdown(8)</i>, <i>svwaitup(8)</i> -<p> +<i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>sv(8)</i>, <i>runsv(8)</i>, <i>chpst(8)</i>, +<i>utmpset(8)</i>, <i>svlogd(8)</i> <p> <i>http://smarden.org/runit/</i> <h2><a name='sect9'>Author</a></h2> -Gerrit Pape &lt;pape@smarden.org&gt; <p> +Gerrit Pape &lt;pape@smarden.org&gt; +<p> <hr><p> <a name='toc'><b>Table of Contents</b></a><p> diff --git a/doc/runsv.8.html b/doc/runsv.8.html @@ -31,12 +31,12 @@ and <i>service</i>/finish&rsquo;s standard output to the pipe, switches to the d the <i>service</i> directory. The standard input of the log service is 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. +(compatible to the daemontools&rsquo; <b>supervise</b> program) 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> -The named pipes -<i>service</i>/supervise/control, and (optionally) <i>service</i>/log/supervise/control +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 <i><b>runsvctrl</b>(8)</i> to control the service or just write one of the following characters to the named pipe: @@ -129,13 +129,12 @@ pipe. is running in <i>service</i>. <p> <b>runsv</b> exits 0 if it was told to exit. <h2><a name='sect7'>See Also</a></h2> -<i>runsvctrl(8)</i>, -<i>runsvstat(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, -<i>runsvchdir(8)</i>, <i>utmpset(8)</i> <p> +<i>sv(8)</i>, +<i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, +<i>utmpset(8)</i> <p> <i>http://smarden.org/runit/</i> <h2><a name='sect8'>Author</a></h2> -Gerrit Pape &lt;pape@smarden.org&gt; -<p> +Gerrit Pape &lt;pape@smarden.org&gt; <p> <hr><p> <a name='toc'><b>Table of Contents</b></a><p> diff --git a/doc/runsvchdir.8.html b/doc/runsvchdir.8.html @@ -31,8 +31,7 @@ exits 111 on error. <b>runsvchdir</b> exits 0 on success. /etc/runit/runsvdir/current.new<br> <h2><a name='sect5'>See Also</a></h2> -<i>runsvdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsv(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, -<i>chpst(8)</i>, <i>svlogd(8)</i>, <i>utmpset(8)</i>, <i>svwaitdown(8)</i>, <i>svwaitup(8)</i> <p> +<i>runsvdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>sv(8)</i>, <i>runsv(8)</i> <p> <i>http://smarden.org/runit/</i> <h2><a name='sect6'>Author</a></h2> diff --git a/doc/runsvctrl.8.html b/doc/runsvctrl.8.html @@ -92,13 +92,12 @@ 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>runsv(8)</i>, <i>runsvstat(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, -<i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>utmpset(8)</i>, <i>svwaitdown(8)</i>, <i>svwaitup(8)</i> -<p> - <i>http://smarden.org/runit/</i><br> - +<i>sv(8)</i>, <i>runsv(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, +<i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>runsvstat(8)</i> <p> +<i>http://smarden.org/runit/</i> <h2><a name='sect6'>Author</a></h2> -Gerrit Pape &lt;pape@smarden.org&gt; <p> +Gerrit +Pape &lt;pape@smarden.org&gt; <p> <hr><p> <a name='toc'><b>Table of Contents</b></a><p> diff --git a/doc/runsvdir.8.html b/doc/runsvdir.8.html @@ -30,8 +30,8 @@ process a TERM signal, stops monitoring this process, and so does not restart 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 +to the daemontools&rsquo; <b>readproctitle</b> 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. <h2><a name='sect3'>Options</a></h2> @@ -49,11 +49,10 @@ If <b>runsvdir</b> receives a TERM signal, it exits with 0 immediately. 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='sect5'>See Also</a></h2> -<i>runsv(8)</i>, <i>runit(8)</i>, -<i>runit-init(8)</i>, <i>runsvchdir(8)</i>, <i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, -<i>utmpset(8)</i>, <i>svwaitdown(8)</i>, <i>svwaitup(8)</i>, <i>setsid(2)</i> <p> -<i>http://smarden.org/runit/</i> - +<i>sv(8)</i>, <i>runsv(8)</i>, +<i>runsvchdir(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>utmpset(8)</i>, +<i>setsid(2)</i> <p> +<i>http://smarden.org/runit/</i> <h2><a name='sect6'>Author</a></h2> Gerrit Pape &lt;pape@smarden.org&gt; <p> diff --git a/doc/runsvstat.8.html b/doc/runsvstat.8.html @@ -40,11 +40,10 @@ process), <b>runsvstat</b> increases the exit code by one and exits non zero. Th maximum is 100. <p> <b>runsvstat</b> exits 111 on error. <h2><a name='sect5'>See Also</a></h2> -<i>runsv(8)</i>, <i>runsvctrl(8)</i>, -<i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, -<i>svwaitdown(8)</i>, <i>svwaitup(8)</i> <p> - <i>http://smarden.org/runit/</i><br> - +<i>sv(8)</i>, <i>runsv(8)</i>, <i>chpst(8)</i>, +<i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>runsvctrl(8)</i> +<p> +<i>http://smarden.org/runit/</i> <h2><a name='sect6'>Author</a></h2> Gerrit Pape &lt;pape@smarden.org&gt; <p> diff --git a/doc/sv.8.html b/doc/sv.8.html @@ -165,12 +165,12 @@ trouble sending the command. If the <i>command</i> is <b>status</b>, it exits 3 service is down, and 4 if the status is unknown. It exits 2 on wrong usage, and 151 on error. <h2><a name='sect8'>See Also</a></h2> -<i>runsv(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>chpst(8)</i>, -<i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i> <p> +<i>runsv(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, +<i>runit(8)</i>, <i>runit-init(8)</i> <p> <i>http://smarden.org/runit/</i> <h2><a name='sect9'>Author</a></h2> -Gerrit -Pape &lt;pape@smarden.org&gt; <p> +Gerrit Pape &lt;pape@smarden.org&gt; +<p> <hr><p> <a name='toc'><b>Table of Contents</b></a><p> diff --git a/doc/svlogd.8.html b/doc/svlogd.8.html @@ -29,187 +29,200 @@ sent a TERM signal, see below. 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&rsquo;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 the command line, it exits with an error. This -can happen on start-up or after receiving a HUP signal. +(see the daemontools&rsquo; <b>tai64n</b> program), 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&rsquo;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 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 (or there is a new-line within the last <i>len</i> of <i>size</i> bytes), -or is older than a specified amount of <i>time</i>, <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 the log directory, it removes the oldest one. Note -that this doesn&rsquo;t decrease the number of log files if there are already -more than <i>num</i> log files. +<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 (or there is a new-line +within the last <i>len</i> of <i>size</i> bytes), or is older than a specified amount +of <i>time</i>, <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 the log directory, +it removes the oldest one. Note that this doesn&rsquo;t decrease the number of +log files if there are already more than <i>num</i> log files. <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 &lsquo;&lsquo;sh -c -"<i>processor</i>"&rsquo;&rsquo; 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 -makes that output available on file descriptor 4 when running <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> +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 &lsquo;&lsquo;sh -c "<i>processor</i>"&rsquo;&rsquo; 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 makes that output available on file descriptor +4 when running <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 log directory -<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 &lsquo;&lsquo;#&rsquo;&rsquo;, it is ignored. -A line of the form +On startup, and after receiving a HUP signal, <b>svlogd</b> checks +for each log directory <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 &lsquo;&lsquo;#&rsquo;&rsquo;, 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&rsquo;t rotate log files. You should set <i>size</i> to at -least (2 * <i>len</i>). </dd> +<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&rsquo;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 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. If <i>num</i> is zero, <b>svlogd</b> -doesn&rsquo;t remove old log files. </dd> +<dd>sets the 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. If <i>num</i> is zero, <b>svlogd</b> doesn&rsquo;t remove old log files. </dd> <dt>N<i>min</i> </dt> -<dd>sets the minimum number of old log files -<b>svlogd</b> should maintain to <i>min</i>. <i>min</i> must be less than <i>num</i>. If <i>min</i> is set, -and <b>svlogd</b> cannot write to <i>current</i> because the filesystem is full, and -it sees more than <i>min</i> old log files, it deletes the oldest one. </dd> - -<dt>t<i>timeout</i> -</dt> -<dd>sets the maximum age of the <i>current</i> log file when <b>svlogd</b> should rotate -the current log file to <i>timeout</i> seconds. If <i>current</i> is <i>timeout</i> seconds old, -and is not empty, <b>svlogd</b> forces log file rotation. </dd> +<dd>sets the +minimum number of old log files <b>svlogd</b> should maintain to <i>min</i>. <i>min</i> must +be less than <i>num</i>. If <i>min</i> is set, and <b>svlogd</b> cannot write to <i>current</i> because +the filesystem is full, and it sees more than <i>min</i> old log files, it deletes +the oldest one. </dd> + +<dt>t<i>timeout</i> </dt> +<dd>sets the maximum age of the <i>current</i> log file when +<b>svlogd</b> should rotate the current log file to <i>timeout</i> seconds. If <i>current</i> +is <i>timeout</i> seconds old, and is not empty, <b>svlogd</b> forces log file rotation. +</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> +<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> <dt>u<i>a.b.c.d[:port]</i> </dt> -<dd>tells <b>svlogd</b> -to transmit the first <i>len</i> characters of selected log messages to the IP -address <i>a.b.c.d</i>, port number <i>port</i>. If <i>port</i> isn&rsquo;t set, the default port for syslog -is used (514). <i>len</i> can be set through the -l option, see below. If <b>svlogd</b> -has trouble sending udp packets, it writes error messages to the log directory. -Attention: logging through udp is unreliable, and should be used in private -networks only. </dd> +<dd>tells <b>svlogd</b> to transmit the first <i>len</i> characters of selected +log messages to the IP address <i>a.b.c.d</i>, port number <i>port</i>. If <i>port</i> isn&rsquo;t set, +the default port for syslog is used (514). <i>len</i> can be set through the -l +option, see below. If <b>svlogd</b> has trouble sending udp packets, it writes +error messages to the log directory. Attention: logging through udp is unreliable, +and should be used in private networks only. </dd> <dt>U<i>a.b.c.d[:port]</i> </dt> -<dd>is the same as the <i>u</i> line above, but the log -messages are no longer written to the log directory, but transmitted through -udp only. Error messages from <b>svlogd</b> concerning sending udp packages still -go to the log directory. </dd> +<dd>is the same as +the <i>u</i> line above, but the log messages are no longer written to the log +directory, but transmitted through udp only. Error messages from <b>svlogd</b> +concerning sending udp packages still go to the log directory. </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: - +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> +<dd>the log +message is deselected. </dd> <dt>+<i>pattern</i> </dt> -<dd>the log message is selected. -</dd> +<dd>the log message is selected. </dd> <dt>e<i>pattern</i> </dt> -<dd>the log message is selected to be printed to standard error. </dd> +<dd>the +log message is selected to be printed to standard error. </dd> -<dt>E<i>pattern</i> -</dt> -<dd>the log message is deselected to be printed to standard error. </dd> +<dt>E<i>pattern</i> </dt> +<dd>the log +message is deselected to be printed to standard error. </dd> </dl> <p> -Initially -each line is selected to be written to <i>log/current</i>. Deselected log messages -are discarded from <i>log</i>. Initially each line is deselected to be written -to standard err. Log messages selected for standard error are written to -standard error. +Initially each line +is selected to be written to <i>log/current</i>. Deselected log messages are discarded +from <i>log</i>. Initially each line is deselected to be written to standard err. +Log messages selected for standard error are written to standard error. + <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 applied to the log message one character -by one, starting with the first. A character not a star (&lsquo;&lsquo;*&rsquo;&rsquo;) and not a plus -(&lsquo;&lsquo;+&rsquo;&rsquo;) 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. <p> -Timestamps optionally -added by <b>svlogd</b> are not considered part of the log message. +<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 (&lsquo;&lsquo;*&rsquo;&rsquo;) and not a plus (&lsquo;&lsquo;+&rsquo;&rsquo;) 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. <p> +Timestamps optionally added by +<b>svlogd</b> are not considered part of the log message. <p> +An <b>svlogd</b> pattern is +not a regular expression. For example consider a log message like this <p> + +2005-12-18_09:13:50.97618 tcpsvd: info: pid 1977 from 10.4.1.14<br> + <p> +The following pattern doesn&rsquo;t match <p> + -*pid*<br> + <p> +because the first star matches up to the first p in tcpsvd, and then the +match fails because i is not s. To match this log message, you can use a +pattern like this instead <p> + -*: *: pid *<br> + <h2><a name='sect8'>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> +<dd>timestamp. Prefix each selected line with a precise timestamp +(see the daemontools&rsquo; <b>tai64n</b> program) when writing to <i>log</i> or to standard +error. </dd> <dt><b>-tt</b> </dt> -<dd>timestamp. Prefix each selected line -with a human readable, sortable UTC timestamp of the form YYYY-MM-DD_HH:MM:SS.xxxxx -when writing to <i>log</i> or to standard error. </dd> +<dd>timestamp. Prefix each selected line with a human readable, sortable +UTC timestamp of the form YYYY-MM-DD_HH:MM:SS.xxxxx 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> +<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 &lsquo;&lsquo;_&rsquo;&rsquo;). </dd> +<dd>replace charset. Additionally to non-printable +characters, replace all characters found in <i>xyz</i> with <i>c</i> (default &lsquo;&lsquo;_&rsquo;&rsquo;). </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>-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> +<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> +<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 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. +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>runsvctrl(8)</i>, -<i>runsvstat(8)</i>, <i>chpst(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, -<i>utmpset(8)</i>, <i>multilog(8)</i> <p> +<i>sv(8)</i>, <i>runsv(8)</i>, <i>chpst(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, +<i>runsvdir(8)</i>, <i>runsvchdir(8)</i> <p> <i>http://smarden.org/runit/</i> <h2><a name='sect11'>Author</a></h2> Gerrit Pape &lt;pape@smarden.org&gt; diff --git a/doc/svwaitdown.8.html b/doc/svwaitdown.8.html @@ -57,13 +57,12 @@ by one and exits non zero. The maximum is 100. <p> <b>svwaitdown</b> returns 111 on error, or if the timeout <i>sec</i> was reached. <h2><a name='sect5'>See Also</a></h2> -<i>svwaitup(8)</i>, <i>runsv(8)</i>, -<i>runsvctrl(8)</i>, <i>runsvstat(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, -<i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>utmpset(8)</i> <p> +<i>sv(8)</i>, <i>runsv(8)</i>, <i>chpst(8)</i>, +<i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>svwaitup(8)</i> +<p> <i>http://smarden.org/runit/</i> <h2><a name='sect6'>Author</a></h2> -Gerrit -Pape &lt;pape@smarden.org&gt; <p> +Gerrit Pape &lt;pape@smarden.org&gt; <p> <hr><p> <a name='toc'><b>Table of Contents</b></a><p> diff --git a/doc/svwaitup.8.html b/doc/svwaitup.8.html @@ -49,13 +49,13 @@ down and not requested to become up, or that causes an error while checking 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>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, -<i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>utmpset(8)</i> <p> +<i>sv(8)</i>, +<i>runsv(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i>, <i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, +<i>svwaitdown(8)</i> <p> <i>http://smarden.org/runit/</i> <h2><a name='sect6'>Author</a></h2> -Gerrit -Pape &lt;pape@smarden.org&gt; <p> +Gerrit Pape &lt;pape@smarden.org&gt; +<p> <hr><p> <a name='toc'><b>Table of Contents</b></a><p> diff --git a/doc/utmpset.8.html b/doc/utmpset.8.html @@ -41,10 +41,10 @@ To enable local login accounting, add <b>utmpset</b> to the <i><b>getty</b>(8)</ <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>runit(8)</i>, <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>chpst(8)</i>, <i>svlogd(8)</i>, -<i>getty(8)</i> <p> -<i>http://smarden.org/runit/</i> +<i>sv(8)</i>, <i>runsv(8)</i>, <i>runit(8)</i>, <i>runit-init(8)</i> +<i>runsvdir(8)</i>, <i>runsvchdir(8)</i>, <i>chpst(8)</i>, <i>svlogd(8)</i>, <i>getty(8)</i> <p> +<i>http://smarden.org/runit/</i> + <h2><a name='sect6'>Author</a></h2> Gerrit Pape &lt;pape@smarden.org&gt; <p>