Gracefull system shutdown
Ross Parker
parker at mprgate.mpr.ca
Fri Mar 22 11:19:03 AEST 1991
I have a problem that I'm sure other people must have faced at
some point.
We've just installed a database (Oracle) on a Sun Sparc 2 running
SunOS 4.1.1. I would like to somehow arrange that the database
gets *properly* shut down whenever the system is shut down.
The obvious way, and Oracle's suggestion, is to replace /etc/shutdown
with a version that first shuts the database down, then executes
the normal /etc/shutdown command.
I'd rather find another way...
What would be ideal is to somehow arrange for init to wait for
the database to shut down when it's going into single-user
mode. Init sends a signal 15 to all processes, but only waits
for some of them to stop before it (un)gracefully brings the
system down. I can easily enough (and have) arrange for a process
to receive a signal 15, and initiate a database shutdown, and wait
for that shutdown to complete before exiting, but init doesn't
wait for it. The man page for init indicates the following:
init terminates multi-user operations and resumes single-
user mode if sent a terminate (SIGTERM) signal: use
`kill -TERM 1'. If there are processes outstanding which
are deadlocked (due to hardware or software failure), init
does not wait for them all to die (which might take for-
ever), but times out after 30 seconds and prints a warning
message.
Is there any way I can coerce init to believe that the database
shutdown process that I've written should be waited for? 30
seconds of grace is enough to shut down my database...
--
Ross Parker | Why do they put me down?
| Make out that I'm a clown?
parker at mprgate.mpr.ca | I drink scotch whisky all day long
uunet!ubc-cs!mprgate!parker | Yeah I'm gonna save my money
| (gonna put it all away...)
(604)293-5495 | 'Cause I'm a Scotsman
More information about the Comp.unix.admin
mailing list