SIGKILL

From Wikipedia, the free encyclopedia

SIGKILL
Description Kill signal
Default action Abnormal termination of the process
SA_SIGINFO macros
None

On POSIX-compliant platforms, SIGKILL is the signal sent to a process to cause it to terminate immediately. The symbolic constant for SIGKILL is defined in the header file signal.h. Symbolic signal names are used because signal numbers can vary across platforms, however on the vast majority of systems, SIGKILL is signal #9.

[edit] Etymology

SIG is a common prefix for signal names. KILL is computer jargon for the action of making a process terminate immediately.

[edit] Usage

When sent to a program, SIGKILL causes it to terminate immediately. In contrast to SIGTERM and SIGINT, this signal cannot be caught or ignored, and the receiving process cannot perform any clean-up upon receiving this signal.

  • Zombie processes cannot be killed since they are already dead and waiting for their parent processes to reap them.
  • Processes that are in the blocked state will not die until they wake up again.
  • The init process is special: It does not get signals that it does not want to handle, and thus it can ignore SIGKILL.
  • Because SIGKILL gives the process no opportunity to do cleanup operations on terminating, in most system shutdown procedures an attempt is first made to terminate processes using SIGTERM, before resorting to SIGKILL.
  • An uninterruptibly sleeping process may not terminate (and free its resources) even when sent SIGKILL. This is one of the few cases in which a UNIX system may have to be rebooted to solve a temporary software problem.