I was working with someone on another issue recently, and he pointed out a situation where someone had used this:
start on starting rc RUNLEVEL=[06]
to run a specific task before the system shut down.
It got me thinking, should we instead just transition services that need to start before shutdown to
stop on starting rc RUNLEVEL=[016]
That would cause these jobs to stop fully before any of the bits of the shutdown run. They'd still shutdown in parallel, so it wouldn't make the shutdown slower.
I do think you have to do *all* services like this. Even one left holding deleted libraries open can still ruin the shutdown process.
Anyway, I like this even shorter term solution because it allows us to SRU individual problem daemons such as mysql without creating a new event.
I was working with someone on another issue recently, and he pointed out a situation where someone had used this:
start on starting rc RUNLEVEL=[06]
to run a specific task before the system shut down.
It got me thinking, should we instead just transition services that need to start before shutdown to
stop on starting rc RUNLEVEL=[016]
That would cause these jobs to stop fully before any of the bits of the shutdown run. They'd still shutdown in parallel, so it wouldn't make the shutdown slower.
I do think you have to do *all* services like this. Even one left holding deleted libraries open can still ruin the shutdown process.
Anyway, I like this even shorter term solution because it allows us to SRU individual problem daemons such as mysql without creating a new event.