【问题标题】:What is the "status" parameter in the exit_group(int status) linux call?exit_group(int status) linux 调用中的“status”参数是什么?
【发布时间】:2015-10-13 12:10:11
【问题描述】:

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

status 到底是什么?

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

【问题讨论】:

  • status参数到exit()?

标签: c linux process


【解决方案1】:

来自exit(3) man page

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

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

由于声称group_exit(2) 等同于exit,这意味着status 有两个定义的值,其余的(最多255 个)由您定义。不过,这条规则仍然有效,除了 EXIT_SUCCESS 之外的任何内容都表示程序失败。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-30
      • 1970-01-01
      • 2017-05-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 2016-07-30
      • 2016-03-05
      相关资源
      最近更新 更多