exit_group(int status) linux 调用中的 "status" 参数是什么?
What is the "status" parameter in the exit_group(int status) linux call?
文档并没有真正说明 status
是什么。
status
到底是什么?
status 是程序的退出状态。例如:
$ ls a.txt
ls: cannot access a.txt: No such file or directory
$ echo $?
2
$
在上面的输出中,ls 的退出状态为 2。同样,您应该指定状态。这取决于您实施的逻辑。
如果退出状态设置为0,说明你的程序正常退出。否则异常退出。
The C standard specifies two constants, EXIT_SUCCESS
and
EXIT_FAILURE
, that may be passed to exit() to indicate successful or
unsuccessful termination, respectively.
您提到的 group_exit 页面上提到了它。我认为它等同于 exit(2)
是一个错字,因为标准库中没有 exit(2),只有 exit(3)。我已经通过阅读 stdlib6 源代码确认了这一点。
由于声称 group_exit(2)
等同于 exit
,这意味着 status
有两个已定义的值,其余所有值(最多 255 个)由您定义。不过,这条规则仍然成立,除 EXIT_SUCCESS 之外的任何内容都表示程序失败。
文档并没有真正说明 status
是什么。
status
到底是什么?
status 是程序的退出状态。例如:
$ ls a.txt
ls: cannot access a.txt: No such file or directory
$ echo $?
2
$
在上面的输出中,ls 的退出状态为 2。同样,您应该指定状态。这取决于您实施的逻辑。 如果退出状态设置为0,说明你的程序正常退出。否则异常退出。
The C standard specifies two constants,
EXIT_SUCCESS
andEXIT_FAILURE
, that may be passed to exit() to indicate successful or unsuccessful termination, respectively.
您提到的 group_exit 页面上提到了它。我认为它等同于 exit(2)
是一个错字,因为标准库中没有 exit(2),只有 exit(3)。我已经通过阅读 stdlib6 源代码确认了这一点。
由于声称 group_exit(2)
等同于 exit
,这意味着 status
有两个已定义的值,其余所有值(最多 255 个)由您定义。不过,这条规则仍然成立,除 EXIT_SUCCESS 之外的任何内容都表示程序失败。