1. 程式人生 > >Linux訊號(signal)

Linux訊號(signal)

4、sa_flags中包含了許多標誌位,包括剛剛提到的SA_NODEFER及SA_NOMASK標誌位。另一個比較重要的標誌位是SA_SIGINFO,當設定了該標誌位時,表示訊號附帶的引數可以被傳遞到訊號處理函式中,因此,應該為sigaction結構中的sa_sigaction指定處理函式,而不應該為sa_handler指定訊號處理函式,否則,設定該標誌變得毫無意義。即使為sa_sigaction指定了訊號處理函式,如果不設定SA_SIGINFO,訊號處理函式同樣不能得到訊號傳遞過來的資料,在訊號處理函式中對這些資訊的訪問都將導致段錯誤(Segmentation fault)。