退出代码6在c中通常意味着什么?

时间:2017-03-25 07:53:23

标签: c

我只需要它的一般含义来解决崩溃问题。在我能找到的任何其他地方都没有。

2 个答案:

答案 0 :(得分:2)

因POSIX信号SIGABRT而死亡的程序退出,错误代码为6且设置的最高位。

SIGABRT是由调用abort()引起的,这可能是由于assert离子失败造成的。

如果未设置最高位,则它是特定于应用程序的错误代码。您可以在shell中键入echo $?,以便在退出之前查看应用程序的错误代码。

答案 1 :(得分:1)

关于C main函数,没有退出代码的一般标准。如果程序成功完成,则程序返回0,否则返回其他所有内容。但即使这是一个拇指规则。

特定的应用程序可能具有特定的返回代码,希望在某处记录。

在深入挖掘后,我找到了exit (cppreference.com)。我认为这是因为exit()是另一种离开应用程序的可能性,并且我非常确定传递的退出值的处理方式与main()的返回值相同。

提到了EXIT_SUCCESSEXIT_FAILURE

  

控制权返回给主机环境。如果exit_code为零或   EXIT_SUCCESS,一个实现定义的状态,表示成功   终止被退回。如果exit_code为EXIT_FAILURE,则为   实现定义的状态,表示终止失败   回。在其他情况下,实现定义的状态值是   返回。

在这个网站上,还有相应C标准的链接。

可以在Linux man page of exit

中找到类似的声明
  

C标准指定了两个常量, EXIT_SUCCESS 和    EXIT_FAILURE ,可以分别传递给exit()以表示成功或不成功终止。