Re: Using 'kill -9'
Posted in 2005
Hi,
nowadays killing a client application process will not crash the IDS
server.
However, under certain circumstances and without "onmode -z"
you can have the situation where the server does not "notice"
that the client is gone. This can result in a left-over session in
the server, holding locks or possibly other resources.
The circumstances are mainly that the connection is via
TCP/IP and the server is waiting for data from the client. When
the client is killed, it usually does not have a chance to tell the
server about its imminent death, especially when killed with
"kill -9". Due to TCP/IP implementation, the server does not
get notified about the fact that the other end of the connection
is gone as long as the server is only waiting for data to arrive.
(The server gets an immediate error when it tries to send data
to the client.)
Often there is the TCP-KeepAlive feature enabled, which checks
for connection health automatically and notifies the the application
(i.e. the server) with an error even when it is only waiting for data.
However, default timeout setting for TCP-KeepAlive usually is
around 2 hours and then there are some retries before the error is
actually produced and propagated. So the session would still hang
around for about 2-1/4 hours ...
Regards,
Martin
--
Martin Fuerderer
IBM Informix Development Munich, Germany
Information Management
owner-informix-list@iiug.org wrote on 09.04.2005 04:15:21:
> Hi All
> I have been told by someone at work never to use 'kill -9' to kill
Informix
> programs (.4ge) without doing a 'onmode -z' on the session first.
>
> I am trying to find out exactly what happens and why this is necessary.
> This is because I see people using 'kill -9' all the time and it hasn't
> ever seemed to cause any problems.
>
> All I have been able to find out so far is the following from a web page
of
> the Washington Area Informix User group dating back to 1992. "Any user
can
> bring an Informix-Online instance down by killing an Informix process
with
> kill -9. Never kill a process with Kill -9 always use tbmode -z."
>
> When they refer to 'Informix process' in that paragraph, are they
refering
> to user programs (.4ge) or the oninit processes only?
>
> Is this something that used to be a problem but was fixed years ago?
>
> Thanks
> Kevin
>
> --
> Message posted via http://www.dbmonster.com
sending to informix-list