File Formats init.d(4)
init.d - initialization and termination scripts for changing
/etc/init.d is a directory containing initialization and
termination scripts for changing init states. These scripts
are linked when appropriate to files in the rc?.d direc-
tories, where `?' is a single character corresponding to the
init state. See init(1M) for definitions of the states.
File names in rc?.d directories are of the form
[SK]nn<init.d filename>, where S means start this job, K
means kill this job, and nn is the relative sequence number
for killing or starting the job.
When entering a state (init S,0,2,3,etc.) the rc[S0-6]
script executes those scripts in /etc/rc[S0-6].d that are
prefixed with K followed by those scripts prefixed with S.
When executing each script in one of the /etc/rc[S0-6]
directories, the /sbin/rc[S0-6] script passes a single argu-
ment. It passes the argument 'stop' for scripts prefixed
with K and the argument 'start' for scripts prefixed with S.
There is no harm in applying the same sequence number to
multiple scripts. In this case the order of execution is
deterministic but unspecified.
Guidelines for selecting sequence numbers are provided in
README files located in the directory associated with that
target state. For example, /etc/rc[S0-6].d/README. Absence
of a README file indicates that there are currently no esta-
Do not put /etc/init.d in your $PATH. Having this directory
in your $PATH can cause unexpected behavior. The programs
in /etc/init.d are associated with init state changes and,
under normal circumstances, are not intended to be invoked
from a command line.
Example 1: Example of /sbin/rc2.
When changing to init state 2 (multi-user mode, network
resources not exported), /sbin/rc2 is initiated by the init
process. The following steps are performed by /sbin/rc2.
1. In the directory /etc/rc2.d are files used to stop
processes that should not be running in state 2. The
filenames are prefixed with K. Each K file in the
SunOS 5.9 Last change: 14 Oct 2003 1
File Formats init.d(4)
directory is executed (by /sbin/rc2) in alphanumeric
order when the system enters init state 2. See example
2. Also in the rc2.d directory are files used to start
processes that should be running in state 2. As in Step
1, each S file is executed.
Assume the file /etc/init.d/netdaemon is a script that will
initiate networking daemons when given the argument 'start',
and will terminate the daemons if given the argument 'stop'.
It is linked to /etc/rc2.d/S68netdaemon, and to
/etc/rc0.d/K67netdaemon. The file is executed by
/etc/rc2.d/S68netdaemon start when init state 2 is entered
and by /etc/rc0.d/K67netdaemon stop when shutting the system
/sbin/rc2 has references to the obsolescent rc.d directory.
These references are for compatibility with old INSTALL
scripts. New INSTALL scripts should use the init.d directory
for related executables. The same is true for the
SunOS 5.9 Last change: 14 Oct 2003 2