| CORE DUMP原因                               2020-11-24 鏈接:https://blog.csdn.net/lixiaogang_theanswer/article/details/80301624              https://www.cnblogs.com/kex1n/p/6972046.html   
| 信號 | 起源 | 默認行為 | 含義 | 
|---|
 
| SIGHUP | POSIX | Term | 控制終端掛起 |  
| SIGINT | ANSI | Term | 鍵盤輸入以終端進程(ctrl + C) |  
| SIGQUIT | POSIX | Core | 鍵盤輸入使進程退出(Ctrl + \) |  
| SIGILL | ANSI | Core | 非法指令 |  
| SIGTRAP | POSIX | Core | 斷點陷阱,用于調試 |  
| SIGABRT | ANSI | Core | 進程調用abort函數(shù)時生成該信號 |  
| SIGIOT | 4.2BSD | Core | 和SIGABRT相同 |  
| SIGBUS | 4.2BSD | Core | 總線錯誤,錯誤內存訪問 |  
| SIGFPE | ANSI | Core | 浮點異常 |  
| SIGKILL | POSIX | Term | 終止一個進程。該信號不可被捕獲或被忽略 |  
| SIGUSR1 | POSIX | Term | 用戶自定義信號之一 |  
| SIGSEGV | ANSI | Core | 非法內存段使用 |  
| SIGUSR2 | POSIX | Term | 用戶自定義信號二 |  
| SIGPIPE | POSIX | Term | 往讀端關閉的管道或socket鏈接中寫數(shù)據(jù) |  
| SIGALRM | POSIX | Term | 由alarm或settimer設置的實時鬧鐘超時引起 |  
| SIGTERM | ANSI | Term | 終止進程。kill命令默認發(fā)生的信號就是SIGTERM |  
| SIGSTKFLT | Linux | Term | 早期的Linux使用該信號來報告數(shù)學協(xié)處理器棧錯誤 |  
| SIGCLD | System V | Ign | 和SIGCHLD相同 |  
| SIGCHLD | POSIX | Ign | 子進程狀態(tài)發(fā)生變化(退出或暫停) |  
| SIGCONT | POSIX | Cont | 啟動被暫停的進程(Ctrl+Q)。如果目標進程未處于暫停狀態(tài),則信號被忽略 |  
| SIGSTOP | POSIX | Stop | 暫停進程(Ctrl+S)。該信號不可被捕捉或被忽略 |  
| SIGTSTP | POSIX | Stop | 掛起進程(Ctrl+Z) |  
| SIGTTIN | POSIX | Stop | 后臺進程試圖從終端讀取輸入 |  
| SIGTTOU | POSIX | Stop | 后臺進程試圖往終端輸出內容 |  
| SIGURG | 4.3 BSD | Ign | socket連接上接收到緊急數(shù)據(jù) |  
| SIGXCPU | 4.2 BSD | Core | 進程的CPU使用時間超過其軟限制 |  
| SIGXFSZ | 4.2 BSD | Core | 文件尺寸超過其軟限制 |  
| SIGVTALRM | 4.2 BSD | Term | 與SIGALRM類似,不過它只統(tǒng)計本進程用戶空間代碼的運行時間 |  
| SIGPROF | 4.2 BSD | Term | 與SIGALRM 類似,它同時統(tǒng)計用戶代碼和內核的運行時間 |  
| SIGWINCH | 4.3 BSD | Ign | 終端窗口大小發(fā)生變化 |  
| SIGPOLL | System V | Term | 與SIGIO類似 |  
| SIGIO | 4.2 BSD | Term | IO就緒,比如socket上發(fā)生可讀、可寫事件。因為TCP服務器可觸發(fā)SIGIO的條件很多,故而SIGIO無法在TCP服務器中用。SIGIO信號可用在UDP服務器中,但也很少見 |  
| SIGPWR | System V | Term | 對于UPS的系統(tǒng),當電池電量過低時,SIGPWR信號被觸發(fā) |  
| SIGSYS | POSIX | Core | 非法系統(tǒng)調用 |  
| SIGUNUSED |  | Core | 保留,通常和SIGSYS效果相同 |  1. free多次 
char *p = malloc(100);  
free(p);  
free(p); 2. fclose 多次 
// fclose 內部調用 free  
FILE *fp = fopen("test.txt", "wb+");  
printf("%p\n", fp);  
fclose(fp);  
printf("%p\n", fp);  
fclose(fp);  
printf("%p\n", fp);       1. 引用空指針成員
struct Hello *p = NULL;  
printf("%d\n", p->a); 2. fclose 空指針 
// fclose 內部引用 FILE 成員  
FILE *fp = NULL;  
fclose(fp);     跟引用空指針成員一致。 |