2010-02-25 83 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)作为信号参数。信号也可以由另一个进程发送。

相关问题