歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下的信號機制

Linux下的信號機制

日期:2017/2/28 16:17:56   编辑:Linux教程

1.Linux內核給一個進程發送信號就在該進程控制結構體對應域設置該信號的位,如果該進程在可中斷睡眠則喚醒否則不喚醒該進程。

2.進程檢查處理該信號的時機是:即將從內核態返回用戶態(系統調用返回)。

3.執行信號的處理函數方法是:內核在用戶棧創建一個新的“層”該“層”的返回地址設置成信號處理函數地址,這樣進程從內核返回先執行該處理函數,完成後再次返回才執行先前進入內核的地方。原因是信號處理函數不能運行在內核態。

4.如果進程在可中斷睡眠收到要忽略的信號,則先被喚醒,然後一般繼續睡眠。

5.要注意一點,信號一般是內核發送給進程的,別的進程發送信號也是通過系統調用,比如Kill別的進程,也是通過內核來發送的。

Copyright © Linux教程網 All Rights Reserved