Chapter 9. The Operating System
64
65535:
(uid_t)( 1) == (gid_t)( 1)
must not be used, because it is the error return sen
tinel value.
9.3 System run levels and
init.d
scripts
9.3.1 Introduction
The
/etc/init.d
directory contains the scripts executed by
init
at boot time and when the
init state (or runlevel ) is changed (see
init(8)
).
There are at least two different, yet functionally equivalent, ways of handling these scripts. For
the sake of simplicity, this document describes only the symbolic link method. However, it
must not be assumed by maintainer scripts that this method is being used, and any automated
manipulation of the various runlevel behaviours by maintainer scripts must be performed
using
update rc.d
as described below and not by manually installing or removing sym
links. For information on the implementation details of the other method, implemented in the
file rc
package, please refer to the documentation of that package.
These scripts are referenced by symbolic links in the
/etc/rc
n
.d
directories. When changing
runlevels,
init
looks in the directory
/etc/rc
n
.d
for the scripts it should execute, where
n
is the runlevel that is being changed to, or
S
for the boot up scripts.
The names of the links all have the form
S
mmscript
or
K
mmscript
where mm is a two digit
number and script is the name of the script (this should be the same as the name of the actual
script in
/etc/init.d
).
When
init
changes runlevel first the targets of the links whose names start with a
K
are ex
ecuted, each with the single argument
stop
, followed by the scripts prefixed with an
S
, each
with the single argument
start
. (The links are those in the
/etc/rc
n
.d
directory corre
sponding to the new runlevel.) The
K
links are responsible for killing services and the
S
link
for starting services upon entering the runlevel.
For example, if we are changing from runlevel 2 to runlevel 3, init will first execute all of the
K
prefixed scripts it finds in
/etc/rc3.d
, and then all of the
S
prefixed scripts in that directory.
The links starting with
K
will cause the referred to file to be executed with an argument of
stop
, and the
S
links with an argument of
start
.
The two digit number mm is used to determine the order in which to run the scripts: low
numbered links have their scripts run first. For example, the
K20
scripts will be executed
before the
K30
scripts. This is used when a certain service must be started before another. For
example, the name server
bind
might need to be started before the news server
inn
so that
inn
can set up its access lists. In this case, the script that starts
bind
would have a lower
number than the script that starts
inn
so that it runs first:
/etc/rc2.d/S17bind
/etc/rc2.d/S70inn
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved