From 30281ba43b3d843cc02113f84602c09fe0702674 Mon Sep 17 00:00:00 2001 From: "Z. Liu" Date: Wed, 28 Aug 2024 15:09:50 +0800 Subject: add/update doc & man page of chpst and runsv 1. fix error in runsv for log/finish: Log ./finish script is not actually invoked. It is not clear, whether this limitation is worth lifting. 2. add options -t and -V to chpst man page; ignore -r since it's obsolete. 3. clarify in runsv.8 manpage how signal override works with control/dx copied from debian's patch: 0009-fix-error-in-manpage.patch 0027-Clarify-runsv-8-control-dx.patch 0027-Add-missing-options-to-chpst-manpage.patch links of debian's patches is: https://salsa.debian.org/debian/runit/-/tree/master/debian/patches --- man/chpst.8 | 18 +++++++++++++++--- man/runsv.8 | 37 ++++++++++++++++++++++++++++++++----- 2 files changed, 47 insertions(+), 8 deletions(-) (limited to 'man') diff --git a/man/chpst.8 b/man/chpst.8 index 43c0b8d..26c1a1d 100644 --- a/man/chpst.8 +++ b/man/chpst.8 @@ -3,7 +3,7 @@ chpst \- runs a program with a changed process state .SH SYNOPSIS .B chpst -[\-vP012] +[\-vVP012] [\-u .IR user ] [\-U @@ -30,6 +30,8 @@ chpst \- runs a program with a changed process state .IR bytes ] [-c .IR bytes ] +[-t +.IR seconds ] .I prog .SH DESCRIPTION .I prog @@ -68,7 +70,7 @@ is prefixed with a colon, the .I user and all .I group -arguments are interpreted as uid and gids respectivly, and not looked up in +arguments are interpreted as uid and gids respectively, and not looked up in the password or group file. All initial supplementary groups are removed. .TP @@ -95,7 +97,7 @@ is prefixed with a colon, the .I user and .I group -arguments are interpreted as uid and gid respectivly, and not looked up in +arguments are interpreted as uid and gid respectively, and not looked up in the password or group file. .TP .B \-b \fIargv0 @@ -208,11 +210,21 @@ Limit the core file size to .I bytes bytes. .TP +.B \-t \fIseconds +limit CPU time. +Limit CPU time to +.I seconds +seconds, delivering a SIGXCPU thereafter. +.TP .B \-v verbose. Print verbose messages to standard error. This includes warnings about limits unsupported by the system. .TP +.B \-V +version string. +Print a version string to standard error. +.TP .B \-P pgrphack. Run diff --git a/man/runsv.8 b/man/runsv.8 index 7c5abfc..43ab396 100644 --- a/man/runsv.8 +++ b/man/runsv.8 @@ -54,10 +54,8 @@ and .IR service /finish's standard output to the pipe, switches to the directory .IR service /log -and starts ./run (and ./finish) exactly as described above for the -.I service -directory. -The standard input of the log service is redirected to read from the pipe. +and starts ./run script. The standard input of the log service +is redirected to read from the pipe. .P .B runsv maintains status information in a binary format (compatible to the @@ -168,7 +166,7 @@ process is running in the service directory. .SH CUSTOMIZE CONTROL For each control character .I c -sent to the control pipe, +except "d" and "x" sent to the control pipe, .B runsv first checks if .I service\fR/control/\fIc @@ -195,6 +193,35 @@ first .I service\fR/control/t is checked, and then .I service\fR/control/x. +Specifically: +.P +If the service is running or paused, control characters "d" and "x" are handled as follows: +.TP +.B 1. +.B runsv +checks whether +.I service\fR/control/t +exists and is executable and runs it if yes. +.TP +.B 2. +If +.I service\fR/control/t +exits nonzero, or is not executable or doesn't exist, +.B runsv +sends the service a TERM signal. +.TP +.B 3. +.B runsv +sends the service a CONT signal, disregarding +.I service\fR/control/c +even if it exists and is executable. +.TP +.B 4. +.B runsv +checks whether +.I service\fR/control/d (or control/x) +exists and is executable and runs it if yes. Its exit status is ignored. +.P The control of the optional log service cannot be customized. .SH SIGNALS If -- cgit 1.4.1