C語言中的signal函數

來源:互聯網
上載者:User

標籤:警示   操作   void   停止   體系   inux   pre   語言   bsd   

  • signal是一個系統調用。是一種特殊的中斷,當某種特定的“軟體中斷”發生時。用於調用的程式。中斷通常是程式運行中出現的特殊情況,如引用特殊記憶體中的非法地址, 浮點數被0除。

  • signal()的原型為:
    #include <signal.h>
    void(*signal(int hum,void(*func)(int)))(int)。

  • signal中的int參數及其含義
    SIGHUP 1 A 終端掛起或者控制進程終止
    SIGINT 2 A 鍵盤中斷(如break鍵被按下)
    SIGQU99v 3 C 鍵盤的退出鍵被按下
    SIGILL 4 C 非法指令
    SIGABRT 6 C 由abort(3)發出的退出指令
    SIGFPE 8 C 浮點異常
    SIGKILL 9 AEF Kill訊號
    SIGSEGV 11 C 無效的記憶體引用
    SIGPIPE 13 A 管道破裂: 寫一個沒有讀port的管道
    SIGALRM 14 A 由alarm(2)發出的訊號
    SIGTERM 15 A 終止訊號
    SIGUSR1 30,10,16 A 使用者自己定義訊號1
    SIGUSR2 31,12,17 A 使用者自己定義訊號2
    SIGCHLD 20,17,18 B 子進程結束訊號
    SIGCONT 19,18,25 進程繼續(曾被停止的進程)
    SIGSTOP 17,19,23 DEF 終止進程
    SIGTSTP 18,20,24 D 控制終端(tty)上按下停止鍵
    SIGTTIN 21,21,26 D 後台進程企圖從控制終端讀
    SIGTTOU 22,22,27 D 後台進程企圖從控制終端寫

以下的訊號沒在POSIX.1中列出,而在SUSv2列出

SIGBUS 10,7,10 C 匯流排錯誤(錯誤的記憶體訪問)
SIGPOLL A Sys V定義的Pollable事件,與SIGIO同義
SIGPROF 27,27,29 A Profiling定時器到
SIGSYS 12,-,12 C 無效的系統調用 (SVID)
SIGTRAP 5 C 跟蹤/斷點捕獲
SIGURG 16,23,21 B Socket出現緊急條件(4.2 BSD)
SIGVTALRM 26,26,28 A 實際時間警示時鐘訊號(4.2 BSD)
SIGXCPU 24,24,30 C 超出設定的CPU時間限制(4.2 BSD)
SIGXFSZ 25,25,31 C 超出設定的檔案限制大小(4.2 BSD)

(對於SIGSYS。SIGXCPU。SIGXFSZ。以及某些機器體繫結構下的SIGBUS,Linux預設的動作是A (terminate),SUSv2 是C (terminate and dump core))。

以下是其他的一些訊號

訊號 值 處理動作 發出訊號的原因

SIGIOT 6 C IO捕獲指令,與SIGABRT同義
SIGEMT 7,-,7
SIGSTKFLT -,16,- A 副處理器堆棧錯誤
SIGIO 23,29,22 A 某I/O操作如今能夠進行了(4.2 BSD)
SIGCLD -,-,18 A 與SIGCHLD同義
SIGPWR 29,30,19 A 電源故障(System V)
SIGINFO 29,-,- A 與SIGPWR同義
SIGLOST -,-,- A 檔案鎖丟失
SIGWINCH 28,28,20 B 表單大小改變(4.3 BSD, Sun)
SIGUNUSED -,31,- A 未使用的訊號(will be SIGSYS)

C語言中的signal函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.