系統信號SIGHUP、SIGQUIT、SIGTERM、SIGINT的場景


SIGHUP:hong up 掛斷。本信號在用戶終端連接(正常或非正常)結束時發出, 通常是在終端的控制進程結束時, 通知同一session內的各個作業, 這時它們與控制終端不再關聯。登錄Linux時,系統會分配給登錄用戶一個終端(Session)。在這個終端運行的所有程序,包括前台進程組和 后台進程組,一般都屬於這個 Session。當用戶退出Linux登錄時,前台進程組和后台有對終端輸出的進程將會收到SIGHUP信號。這個信號的默認操作為終止進程,因此前台進 程組和后台有終端輸出的進程就會中止。不過可以捕獲這個信號,比如wget能捕獲SIGHUP信號,並忽略它,這樣就算退出了Linux登錄,wget也能繼續下載。此外,對於與終端脫離關系的守護進程,這個信號用於通知它重新讀取配置文件。

SIGQUIT:和SIGINT類似, 但由QUIT字符( 通常是Ctrl-\ )來控制, 進程在因收到SIGQUIT退出時會產生core文件, 在這個意義上類似於一個程序錯誤信號。

SIGTERM:程序結束(terminate)信號, 與SIGKILL不同的是該信號可以被阻塞和處理。通常用來要求程序自己正常退出,shell命令kill缺省產生這個信號。如果進程終止不了,我們才會嘗試SIGKILL(即:kill -9 pid)

SIGINT:程序終止(interrupt)信號, 在用戶鍵入INTR字符(通常是Ctrl+C)時發出,用於通知前台進程組終止進程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM