在node.js中,方法process.exit(1)和process.exit(0)的区别是什么?
在node.js中,方法process.exit(1)和process.exit(0)的区别是什么?
在node.js应用程序中,我看到了两种方法的使用process.exit(1)
和process.exit(0)
。有人可以给我一个确切的答案吗?
您可以在文档中找到有关您问题的答案:https://nodejs.org/api/process.html#process_process_exit_code
基本上,如果您想成功退出,则使用0,如果您想以失败退出,则使用1。
当没有更多异步操作时,Node通常以0状态代码退出。以下是其他退出代码:
1-未捕获的致命异常:存在未捕获的异常,并且它没有被域或未捕获的异常事件处理程序处理。
2-未使用:由Bash保留用于内置误用。
3-内部JavaScript解析错误:Node引导过程中的JavaScript源代码引起了解析错误。这非常罕见,通常只会在开发Node本身期间发生。
4-内部JavaScript评估失败:在Node的引导过程中,JavaScript源代码在评估时无法返回函数值。这非常罕见,通常只会在开发Node本身期间发生。
5-致命错误:V8发生了致命且无法恢复的错误。通常,将在stderr中打印具有前缀FATAL ERROR的消息。
6-非函数内部异常处理程序:存在未捕获的异常,但是内部致命异常处理程序函数以某种方式设置为非函数,并且无法调用。
7-内部异常处理程序运行时失败:出现未捕获的异常,并且内部致命异常处理程序函数在尝试处理它时本身抛出了错误。
8-未使用
9-无效参数:指定了未知选项,或者提供了需要值的选项但没有提供值。
10 - 内部JavaScript运行时故障:在Node启动过程中,JavaScript源代码在引导函数调用时抛出错误。这种情况极其罕见,通常只会在开发Node本身时发生。
11 - 无效的调试参数:设置了--debug
和/或--debug-brk
选项,但选择了无效的端口号。
>128 - 信号退出:如果Node接收到致命信号,例如SIGKILL
或SIGHUP
,则其退出代码将是128加上信号代码的值。这是标准的Unix实践,因为退出代码被定义为7位整数,并且信号退出设置了高阶位,然后包含信号代码的值。