1. 程式人生 > >C++信號處理

C++信號處理

異常終止 int sign 註意 運算 sigsegv 操作 fun 函數

信號是操作系統傳給進程的中斷,會提早終止一個程序;

  有些信號不能被捕獲,下面的信號在程序中可被捕獲,基於信號可采取適當的動作;

  這些信號定義在C++頭文件<csignal>中;

SIGABRT:程序的異常終止,如abort;

SIGFPE: 錯誤的算術運算,如除以0導致的溢出;

SIGILL: 檢測非法指令;

SIGINT: 接收到交互註意信號;

SIGSEGV:非法訪問內存;

SIGTERM:發送到程序的終止請求。

signal() 函數 : 用於捕獲突發事件;

  void (*signal ( int sig ,void (*func) (int) ) ) (int);

  接收2個參數:第一個是一個整數,代表了信號的編號;第二個參數是一個指向信號處理函數的指針;

C++信號處理