Consultor Eletrônico



Kbase P20737: Considerations when using the UNIX kill -9 command
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   24/04/2009
Status: Verified

GOAL:

How to use the UNIX kill -9 command appropriately

GOAL:

Guidelines to use of UNIX kill -9 command to stop a process

GOAL:

How to use kill -9 command to release shared memory

GOAL:

When to use the kill -9 command to cancel processes

FACT(s) (Environment):

UNIX
Progress/OpenEdge Product Family

FIX:

Using kill -9 on Unix systems:

kill -9 <pid>
(SIGKILL) which truly kills the process and requires the release of held semaphores and shared memory segments for both the user sessions and the broker process (refer to Progress Solution P13793)

It is not a good idea to "throw the big red switch" since most systems with their buffered filesystems can get into real trouble. However, in some cases it is better to perform a clean reboot of the system than to start randomly killing processes. Since UNIX does not allow *any* program to detect a kill -9, the PROGRESS server processes cannot detect what is happening when processes start to disappear with kill -9.

Depending on which process is killed off and what the process is doing, that session may well have been holding a latch. PROGRESS will eventually detect this abnormality and trigger an Abnormal database shutdown the database. In other instances, if enough processes are killed off, remaining processes can effectively "hang" as they could be waiting for some resource that will never be released by a lost process.

If proshut -byF doesn't seem to work and you are not comfortable killing things off and cleaning up shared memory, then reboot the system.