【问题标题】:What is difference between method process.exit(1) and process.exit(0) in node.js?node.js 中的方法 process.exit(1) 和 process.exit(0) 有什么区别?
【发布时间】:2017-08-26 02:49:51
【问题描述】:

在 node.js 应用程序中,我看到了 process.exit(1)process.exit(0) 这两种方法的用法。谁能给我准确的答案?

【问题讨论】:

标签: node.js


【解决方案1】:

当没有更多异步操作时,节点通常以 0 状态码退出 未处理的。还有其他退出代码如下所述:

1 - 未捕获的致命异常:存在未捕获的异常,并且未由域或 uncaughtException 事件处理程序处理。

2 - 未使用:由 Bash 保留用于内置滥用。

3 - 内部 JavaScript 解析错误:Node 引导过程中的内部 JavaScript 源代码导致解析错误。这是 极为罕见,一般只能在开发过程中发生 节点本身。

4 - 内部 JavaScript 评估失败:Node 引导过程中的内部 JavaScript 源代码未能返回 评估时的函数值。这是极其罕见的,而且通常 只能发生在 Node 本身的开发过程中。

5 - 致命错误:V8 中存在致命的不可恢复错误。通常,一条带有前缀 FATAL 的消息将打印到 stderr 错误。

6 - 非函数内部异常处理程序:有一个未捕获的异常,但内部致命异常处理程序函数是 以某种方式设置为非函数,并且无法调用。

7 - Internal Exception Handler Run-Time Failure:有一个未捕获的异常,内部致命异常处理函数 自己在尝试处理它时抛出了一个错误。

8 - 未使用

9 - 无效参数:指定了未知选项,或者提供了需要值的选项而没有提供值。

10 - 内部 JavaScript 运行时失败:Node 引导过程内部的 JavaScript 源代码在运行时抛出错误 调用了引导函数。这是极其罕见的,而且 一般只能在Node自身开发过程中发生。

11 - 无效的调试参数:设置了--debug 和/或--debug-brk 选项,但选择了无效的端口号

>128 - 信号退出:如果 Node 收到一个致命信号,例如 SIGKILLSIGHUP,那么它的退出代码将是 128 加上值 的信号代码。这是标准的 Unix 做法,因为退出代码 被定义为 7 位整数,并且信号出口设置高位 位,然后包含信号码的值。

来源: https://www.tutorialspoint.com/nodejs/nodejs_process.htm

【讨论】:

    【解决方案2】:

    您可以在文档中找到问题的答案:https://nodejs.org/api/process.html#process_process_exit_code

    基本上,如果您想成功退出,请使用 0,如果您想退出失败,请使用 1。

    【讨论】:

      【解决方案3】:

      0 是成功代码,1(或其他数字)可以是失败代码。如果未指定任何内容,将使用0。用于在出路时传递信息。在这里回答:

      https://stackoverflow.com/a/5266239/5463636

      更多信息直接来自 Node.js 文档:

      https://nodejs.org/api/process.html#process_process_exit_code

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-22
        • 2014-02-07
        • 2023-04-03
        • 1970-01-01
        • 1970-01-01
        • 2016-10-02
        • 1970-01-01
        • 2019-09-04
        相关资源
        最近更新 更多