POSIX相容的平台上,SIGKILL是傳送給一個行程來導致它立即終止的訊號。SIGKILL的符號常數標頭檔signal.h中定義。因為在不同平台上,訊號數字可能變化,因此符號訊號名被使用,然而在大量主要的系統上,SIGKILL是訊號#9。[1]

Quick Facts 描述, 預設動作 ...
SIGKILL
描述「殺死」訊號
預設動作行程異常終止
SA_SIGINFO宏
Close

語源

SIG是訊號名的通用字首KILL是指讓一個行程立即終止的動作的電腦行話

使用

當SIGKILL被傳送給一個程式時,它使程式立即終止。與SIGTERMSIGINT相比,這個訊號不能被擷取或忽略,同時接收這個訊號的行程在收到這個訊號時不能執行任何清理。

  • 殭屍行程不能被殺死,因為它們已經死亡,只等待它們的父行程回收它們。
  • 處於阻塞狀態的行程不會死亡,直到它們再次醒來。
  • init行程是特殊的:它不獲得它不想處理的訊號,因此它可以忽略SIGKILL。
  • 因為SIGKILL不給行程任何在終止時做清理操作的機會,在大部分系統關閉過程中,在採取SIGKILL之前,使用訊號SIGTERM使行程終止的嘗試先被作出。
  • 為了加速電腦關閉過程,Mac OS X 10.6會將SIGKILL傳送給已經標記它們自己為「乾淨」的應用程式,以加快關機速度,同時,很可能地,沒有壞作用。[2]
  • 即使SIGKILL被傳送給它,一個正在不可中斷睡眠英語Uninterruptible sleep的行程也可能不會終止(並且釋放它的資源)。這是少數幾個一個UNIX系統可能需要被重新啟動來解決臨時軟件問題的例子中的一個。

參考

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.