什么是"状态" exit_group(int status)linux调用中的参数?

时间:2015-10-13 12:10:12

标签: c linux process

文档并没有真正说出status是什么。

究竟是什么status

http://man7.org/linux/man-pages/man2/exit_group.2.html

2 个答案:

答案 0 :(得分:1)

status是程序的退出状态。例如:

$ ls a.txt
ls: cannot access a.txt: No such file or directory
$ echo $?
2
$

在上面的输出中,ls的退出状态为2.同样,您应该指定状态。这取决于您实施的逻辑。 如果退出状态设置为0,则表明程序正常退出。否则它会异常退出。

答案 1 :(得分:1)

来自exit(3) man page

  

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

在您引用的group_exit页面上提到。我认为这是一个错字,它等同于exit(2),因为标准库中没有exit(2),只有exit(3)。我通过阅读stdlib6源代码证实了这一点。

由于group_exit(2)声明等同于exit,这意味着status有两个已定义的值,其余的(最多255个)取决于您的定义。该规则仍然有效,除了EXIT_SUCCESS之外的任何东西都代表了程序的失败。