[CentOS] Shutdown script not being run

Tue Dec 20 15:10:06 UTC 2005
Bowie Bailey <Bowie_Bailey at BUC.com>

William A. Mahaffey III <mailto:wam at HiWAAY.net> wrote:
> Bowie Bailey wrote:
> > William A. Mahaffey III <mailto:wam at HiWAAY.net> wrote:
> > > Bowie Bailey wrote:
> > > > 
> > > > When I 'telinit 4', I can see the script output in
> > > > /var/log/messages:
> > > > 
> > > >    Dec 19 11:46:49 bnofdn1 mytest: Called with start
> > > >    Dec 19 11:46:49 bnofdn1 rc: Starting mytest:  succeeded
> > > > 
> > > > When I 'telinit 3', there is no output from this script.  It is
> > > > like the script is not even being called.
> > > > 
> > > > Am I doing something stupid here?  When I do 'telinit 3' from a
> > > > higher runlevel, isn't it supposed to run all of the 'K*' scripts
> > > > in rc3.d with a 'stop' argument?
> > > 
> > > Well, as I look at your links, I see none to start your script at
> > > runlevel 3, i.e. no S01myTest under rc3.d .... maybe I'm missing
> > > something ....
> > 
> > It's not supposed to start in runlevel 3.  It's only supposed to run
> > in levels 4 and 5.
> > 
> > > The init process only runs K* under runlevel 4 (rc4.d) when exiting
> > > runlevel 4, then runs all of the S* stuff under the new runlevel.
> > > $0.02, no more, no less ....
> > 
> > That's not what the rc script appears to be doing.  It simply checks
> > the current runlevel and then runs all the scripts in that directory
> > (kill scripts first, and then start scripts).
> 
> You originally asked why you were seeing no output from your test
> script when you did a 'telinit 3', I gave you a reason (links to
> activate the script not present in rc3.d) :-).  

The links ARE there, but they are K* links, not S* links.  I should
see output showing the service shutting down when I go from 4 to 3.

My main point was that your description of the shutdown process does not
seem to be accurate.  Based on reading the 'rc' script, the runlevel
switch happens first and then rc runs all scripts from the new runlevel
directory.

If I switch from level 4 to level 3, the system will switch the runlevel
to 3 and then run the kill scripts and startup scripts from the rc3.d
directory.

The original problem has been solved.  The script was not setting it's
lock file properly, so it was being skipped when rc ran the kill
scripts.  Now that I've fixed that problem, I see the shutdown messages
from the script as expected.

-- 
Bowie