process.exitCode


  • 类型: <integer> | <string> | <null> | <undefined> 退出代码。对于字符串类型,只允许整数形式的字符串(例如:'1')。默认值: undefined

一个数字,当进程正常退出或通过 process.exit() 终止但未指定代码时,该数字将作为进程的退出码。

【A number which will be the process exit code, when the process either exits gracefully, or is exited via process.exit() without specifying a code.】

process.exitCode 的值可以通过以下两种方式更新:要么给 process.exitCode 赋值,要么向 process.exit() 传递一个参数:

【The value of process.exitCode can be updated by either assigning a value to process.exitCode or by passing an argument to process.exit():】

$ node -e 'process.exitCode = 9'; echo $?
9
$ node -e 'process.exit(42)'; echo $?
42
$ node -e 'process.exitCode = 9; process.exit(42)'; echo $?
42 

当发生无法恢复的错误时(例如遇到未解决的顶层 await),Node.js 也可以隐式地设置该值。然而,对退出代码的显式操作始终优先于隐式设置:

【The value can also be set implicitly by Node.js when unrecoverable errors occur (e.g. such as the encountering of an unsettled top-level await). However explicit manipulations of the exit code always take precedence over implicit ones:】

$ node --input-type=module -e 'await new Promise(() => {})'; echo $?
13
$ node --input-type=module -e 'process.exitCode = 9; await new Promise(() => {})'; echo $?
9