2010-02-25 80 views
3

的我編譯和運行我的代碼,並得到了以下錯誤:終止,因爲6信號

Terminating because of 6 signal 

什麼是信號6,什麼原因造成的?

回答

6

它可能是在談論信號6,它是SIGABRT,即中止。代碼本身很可能被稱爲abort(),或者可能是斷言失敗。

可以使用

kill -l 

HTH列出的命令行的信號編號。

5

信號6通常是SIGABRT。

導致該問題的一件事是系統調用'abort()'。

看來你的程序也有捕捉SIGABRT並打印出消息,也許是等的信號處理程序:

void handler(int signum) 
{ 
    fprintf(stderr, "Terminating because of %d signal\n", signum); 
    exit(1); 
} 

您還可以使用系統功能「殺()」或「加薪()」用SIGABRT(或6)作爲信號參數。信號也可以由另一個進程發送。

相關問題