Node.js 退出代码

Node.js 退出代码

Node.js 是一个跨平台的、开源的后端JavaScript运行环境,它使用V8引擎在web浏览器之外执行JavaScript代码。Node.js允许开发人员利用JavaScript创建命令行工具和服务器端脚本,这涉及在将页面发送到用户浏览器之前在服务器上运行脚本。

在下面的文章中,我们将讨论在退出进程时Node.js中的不同退出代码。

以下是Node.js中的退出代码列表以及其描述:

  • 退出码0: 当没有更多未完成的异步操作并且代码没有产生未捕获的异常时,Node.js通常以退出码0结束。
  • 退出码1,未捕获的致命异常: 如果发生未捕获的异常,并且它没有被域(domain)或“uncaughtException”事件处理程序解决,Node.js将以退出码1退出。
  • 退出码2: 命令行bash保留退出码2用于滥用内置功能。
  • 退出码3,内部JavaScript解析错误: 当无法有效解释内部代码时,可能会使用该退出码。这非常罕见,通常只在Node.js开发过程中发生。
  • 退出码4,内部JavaScript评估失败: 在开发过程中,也适用于JavaScript代码无法返回函数值的情况。
  • 退出码5,致命错误: 当V8发生致命且无法恢复的错误时,会使用该退出码。通常,错误输出会以前缀“FATAL ERROR”开头。
  • 退出码6,非函数内部异常处理程序: 当将内部致命异常处理程序函数设置为非函数且无法调用时,会有所帮助。
  • 退出码7,内部异常处理程序运行时失败: 当内部致命异常处理程序代码本身在处理未捕获异常时发生错误时,会使用该错误码。例如,如果domain.on(‘error’)处理程序或“uncaughtException”返回错误。
  • 退出码8: 在早期版本的Node.js中,退出码8有时用于表示未捕获的错误。
  • 退出码9,无效参数: 当给定了未指定的选项或者给定了需要值的选项但没有提供值时,使用该退出码。
  • 退出码10,内部JavaScript运行时失败: 当调用引导函数时,Node.js的引导过程内部的JavaScript源代码会引发错误。
  • 退出码12,无效调试参数: 指定的端口无效或不可用,但设置了–debug、–inspect和/或–debug-brk选项。
  • 退出码128,信号退出: 如果Node.js收到像SIGKILL或SIGHUP这样的致命信号,其退出码为128加上信号代码的值。这是Unix常见的做法,因为信号退出在包含信号代码的值之前设置了高阶位,而退出码通常指定为7位整数。

示例1: 下面的示例代码没有任何错误,因此退出码为0。

console.log("Running..."); 
process.on('exit', function(code){ 
    return console.log(`Exiting with code ${code}`); 
});

输出:

Node.js 退出代码

示例2: 在这个示例中,我们故意以退出代码 1 来终止以下代码。

console.log('This code will terminate with exit code 1');  
  
process.on('exit', function(code) {  
    return console.log(`Exit Code: ${code}`);  
});  
  
setTimeout((function() {  
    return process.exit(1); 
}), 5000);  

输出:

Node.js 退出代码

参考: https://nodejs.org/api/process.html#process_exit_codes

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程