Consultor Eletrônico



Kbase P50670: Can a kill -9 of a shared memory client shut down a Progress database?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Verified

GOAL:

Can a kill -9 of a shared memory client shut down a Progress database?

FACT(s) (Environment):

UNIX

FIX:

Yes, since the result of a kill -9 can be shared memory segments with corrupted information causing the watchdog or one of the other database processes to perform a database shutdown depending on the corruption.

A kill -9 will force the OS to kill the process without giving it any chances to clean after itself before quitting, and when this process is a Progress client the result could cause corrupted information in shared memory segments.
When the Watchdog or another Progress process detects this corrupted information, it will trigger an immediate shutdown of the database so that the corrupted information is not flushed to the database.

In order to kill users, use the proshut command:

proshut <db name>
Choose option "1. Disconnect a User", and enter the number of the user you want to kill.

If the processes still does not die with the method described above use the kill command, beginning with kill -15 as this is the default "nice" approach that lets
the process clean after itself.
If this does not work there are harder ways to kill a process, as described below:

kill -1 (SIGHUP) Terminal hang up signal.
kill -2 (SIGINT) Same as doing a Ctrl+C, terminal interrupt.
kill -8 (SIGQUIT) Floating Point Exception. This might leave shared
memory in a corrupted status, like kill -9.
kill -9 (SIGKILL) Truly kills the process. If issued against a client,
the database might shut down abnormally. If issued
against the broker, the effect will be the same as a
power outage; in addition to that, semaphores and shared
memory segments will not be removed from the OS memory,
so they will have to be manually removed as described in
Progress Solution 15912.
Alternatively, just to be on the safe side, after a
kill -9 to the broker, the machine should be rebooted.