Here is an important corollary to KillOrderImportance : when your system is overloaded, you should always kill processes with '
kill -9
' .
There are a fair number of sources that will tell you that you should always kill processes with something besides
kill -9
, unless they won't die from lesser measures. In an overloaded situation this is terribly wrong: either the processes don't have a signal handler for the lesser signal, in which case the two are equivalent, or they do have a signal handler, in which case using the lesser signal simply causes them to wake up (if they were sleeping) and churn around more.
Even in general I tend to be somewhat dubious about the advice; usually, when I am killing a process with anything except a small list of signals, I want it gone . Using '
kill -9
' makes completely sure of this, in one go, without any fuss and bother.
(If you really want to give a process a chance to clean up, you need to know what sort of program it is. User level programs tend to only catch
SIGHUP
, if that, while demons probably don't catch
SIGHUP
but may catch
SIGTERM
, since many Unixes send everything
SIGTERM
as part of shutting down.)