Re: cleanly shutting down sqlexecd for Informix SE on Linux
Posted in 1998
On Mon, 12 Oct 1998, Jack Avenevoli wrote: > Just one quick question for anyone who is/has been running the > Informix SE engine on Linux. The docs that I have (.pdf files from > informix) tells how to start up the engine, but not how to cleanly > shut it down, altho' the docs do say never to do a kill -9 on the > sqlexecd daemon. Can you give me a document number (front cover?) and page reference for this? I think it is misinformation, but I need to see the original context. It is critical that you never kill -9 an sqlexec program, but that is distinctly different from the sqlexecd daemon proper. There should be no call to send a kill -9 signal to sqlexecd either. You should use kill -15 (kill -TERM) which should terminate the daemon. You could experiment with kill -1 (kill -HUP) or kill -13 (kill -PIPE) or kill -14 (kill -ALRM) before resorting to kill -9 (kill -KILL). > Any help on this, even a pointer to what documentation I could find > this in would be most appreciated. Unless you want to stop sqlexecd without rebooting, I wouldn't normally bother with shutting it down. All it does is listen on a TCP/IP port for incoming connections, fork off an sqlexec to process the connection and go back to listening for more connections. The zombie problem occurs because sqlexecd doesn't wait around to see if it has any dead children, which leaves their undead bodies to fester in the process table. Consequently, killing sqlexecd can do no damage to a database, simply because it doesn't ever connect to a database. By contrast, killing an sqlexec process can do much damage precisely because it could leave a database in a modified but inconsistent state -- DO NOT SEND KILL SIGNALS TO SQLEXEC! Yours, Jonathan Leffler (jleffler@informix.com) #include <witticism.h> Guardian of DBD::Informix v0.60 -- http://www.perl.com/CPAN Informix IDN for D4GL & Linux -- http://www.informix.com/idn