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