Originally Posted by gnashley
I think this is wrong:
"the K* links in the new run level directory followed by all the S*"
IIRC, the K* links are run when *leaving that runlevel, so that means they are run in the old runlevel and then the S* links in the new runlevel are run.
I used to think that, too
If the evidence offered in the quoted post is not convincing then try this command
/bin/ls -l /etc/rc[2-5].d/K*
On ubuntu 8.04 there are no such files. In case you think the command is flawed, replace the K with an S.
Here's from The Linux Boot Process
# Scripts prefixed with S will be started when the runlevel is entered, eg /etc/rc5.d/S99xdm
# Scripts prefixed with K will be killed when the runlevel is entered, eg /etc/rc6.d/K20apache
It may help to think of it like this. The symlinks in /etc/rc<run level>.d define the run level both by what should be running and what should not be running. If "what should not be running" was dependent on the K* scripts in the previous run level then "what should not be running" would not be consistent -- it would depend on what the previous run level was.