为什么退出代码 0 表示成功,而 1 表示失败

为什么退出代码 0 表示成功,而 1 表示失败

由于 0 是布尔值false而 1 是 a true,HTTP 中的 API 不应该在成功时返回 response_code 0 而不是 1 吗?

答案1

错误的原因有很多,父进程通常知道子进程具体出了什么问题。因此,0 表示成功,1 到 255 为失败原因提供了灵活性。

例如子进程可以返回:

  • 1文件未找到
  • 2用户未授权
  • 3文件被另一个进程锁定
  • 4连接未激活
  • 5配置不完整
  • 6进程被用户取消

等等等等。

答案2

将错误表示为非零整数符合 POSIX 标准,也就是符合 Unix 标准,特别是错误编号由库定义。本文例如,提供了退出状态的良好概述。因此,无论我们讨论的是哪种 HTTP 服务器进程,如果它们希望跨多个系统(包括 Ubuntu)移植,它们都应努力遵守此标准,并且是的 - 在成功时提供 0。如果我们谈论的是 HTTP 服务器对客户端的响应,那么 API 应该遵循使用HTTP 状态代码

答案3

这些数字代表错误,即如果有错误,则将其设置为任何正数(1-255),如果没有错误,则将其设置为 0。

相关内容