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.