summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorben <ben@FreeBSD.org>2000-07-19 19:08:08 +0000
committerben <ben@FreeBSD.org>2000-07-19 19:08:08 +0000
commit8dc09f7b510f22cb979de55ee4c0fe24aecf231f (patch)
treebc246eec3e2adcfc8d3d08fc072cdec37f251258
parent537f6dd9499eabf47f5f5628593374b7f915f448 (diff)
downloadFreeBSD-src-8dc09f7b510f22cb979de55ee4c0fe24aecf231f.zip
FreeBSD-src-8dc09f7b510f22cb979de55ee4c0fe24aecf231f.tar.gz
Document the rc.d system.
Suggested by: dcs Reviewed by: alex, dcs, sheldonh
-rw-r--r--share/man/man8/rc.897
1 files changed, 97 insertions, 0 deletions
diff --git a/share/man/man8/rc.8 b/share/man/man8/rc.8
index ac51638..8cbe28d 100644
--- a/share/man/man8/rc.8
+++ b/share/man/man8/rc.8
@@ -42,6 +42,7 @@
.Nm rc
.Nm rc.conf
.Nm rc.conf.local
+.Nm rc.d
.Nm rc.serial
.Nm rc.pccard
.Nm rc.network
@@ -67,6 +68,72 @@ by the rc files, while
.Nm rc.conf.local
contains the local system configuration. See rc.conf(5)
.Pp
+The
+.Nm rc.d
+directories contain scripts which will be automatically
+executed at boot time and shutdown time.
+At boot time,
+the specified directories are processed immediately after
+.Nm rc.local
+is executed.
+(See below for details on how to specify directories to check.)
+At shutdown time,
+the directories are processed by
+.Nm rc.shutdown .
+The following key points apply to the scripts within each directory:
+.Pp
+.Bl -bullet -compact
+.It
+Scripts are only executed if their
+.Xr basename 1
+matches the shell globbing pattern
+.Pa *.sh ,
+and they are executable.
+Any other files or directories present within the directory are silently
+ignored.
+.It
+When a script is executed at boot time, it is passed the string
+.Dq start
+as its first and only argument.
+At shutdown time, it is passed the string
+.Dq stop
+as its first and only argument.
+All
+.Nm rc.d
+scripts expected to handle these arguments appropriately.
+If no action needs to be taken at a given time
+(either boot time or shutdown time)
+the script should exit successfully and without producing an error message.
+.It
+The scripts within each directory are executed in lexicographical order.
+If a specific order is required,
+numbers may be used as a prefix to the existing filenames,
+so for example
+.Pa 100.foo
+would be executed before
+.Pa 200.bar ;
+without the numeric prefixes the opposite would be true.
+.El
+.Pp
+The output from each script is traditionally a space character,
+followed by the name of the software package being started or shut down,
+.Em without
+a trailing newline character (see the
+.Sx EXAMPLES
+section).
+.Pp
+The system initialization scripts can execute scripts from multiple
+.Nm rc.d
+directories.
+The default locations are
+.Pa /usr/local/etc/rc.d
+and
+.Pa /usr/X11R6/etc/rc.d ,
+but these may be overridden with the
+.Va local_startup
+.Xr rc.conf 5
+variable.
+.Pp
.Nm Rc.shutdown
is the command script which contains any necessary commands
to be executed as the system is shut down.
@@ -155,7 +222,37 @@ by the administrator.
.Pp
Following tradition, the startup files reside in
.Pa /etc .
+.Sh EXAMPLES
+The following is a simple, hypothetical example of an
+.Nm rc.d
+script,
+which would start a daemon at boot time,
+and kill it at shutdown time.
+.Bd -literal -offset indent
+#!/bin/sh -
+#
+# initialization/shutdown script for foobar package
+
+case "$1" in
+start)
+ /usr/local/sbin/foo -d && echo -n ' foo'
+ ;;
+stop)
+ kill `cat /var/run/foo.pid` && echo -n ' foo'
+ ;;
+*)
+ echo "unknown option: $1 - should be 'start' or 'stop'" >&2
+ ;;
+esac
+.Ed
+.Pp
+As all processes are killed by
+.Xr init 8
+at shutdown, the explicit
+.Xr kill 1
+is unnecessary, but is often included.
.Sh SEE ALSO
+.Xr kill 1 ,
.Xr rc.conf 5 ,
.Xr init 8 ,
.Xr reboot 8 ,
OpenPOWER on IntegriCloud