如何获取 nodejs 程序退出码?下面本篇文章给大家介绍一下获取 node.js 程序退出码的方法以及退出码枚举,希望对大家有所帮助!
想要退出正在运行的 NodeJS 程序,我们既可以通过 Ctrl + C 的方式,也可以通过 process.exit()来执行退出。【推荐学习:《nodejs 教程》】
这两种操作都将强制进程尽快退出,即使仍有未完全完成的异步操作挂起,包括对 process.stdout 和 process.stderr 的 I/O 操作。
如果由于错误情况需要终止 Node.js 进程,则抛出未捕获的错误并允许进程相应地终止比调用 process.exit() 更安全,比如:
import process from 'process'; // 如何正确设置退出码,同时让进程正常退出。 if (someConditionNotMet()) { printUsageToStdout(); process.exitCode = 1; }
在 Worker 线程中,该函数停止当前线程而不是当前进程。
那么对于一些意外退出的 NodeJS 程序,如何来获取 exitCode ?每一个退出码又代表什么?今天我们就来学习一下。
child_process.fork() 方法是 child_process.spawn() 的特例,专门用于衍生新的 NodeJS 进程。
const fork = require("child_process").fork; console.log("main ", process.argv); const fs = require("fs"); const fd = fs.openSync("./a.log", "a"); const child = fork("./index.js", { stdio: ["ipc", "pipe", fd] }); child.on("error", (error) => { let info = `child process error ${error}`; fs.writeSync(fd, info); console.log(info); }); child.on("exit", (code) => { let info = `child process exited with code ${code}`; fs.writeSync(fd, info); console.log(info); });
子程序执行参数
const fork = require('child_process').fork; console.log('main ',process.argv); const fs=require('fs'); const fd = fs.openSync('./a.log','a'); // 子程序参数 let args = []; args[0] = 'test'; const child = fork('./index.js',args,{ stdio:['ipc','pipe',fd] }); child.on('error', (error) => { let info = `child process error ${error}`; fs.writeSync(fd,info); console.log(info); }); child.on('exit', (code) => { let info = `child process exited with code ${code}`; fs.writeSync(fd,info); console.log(info); });
当没有更多异步操作挂起时,NodeJS 通常会以 0 状态代码退出。 在其他情况下使用以下状态代码:
以上就是获取 NodeJS 程序退出码的方法以及退出码枚举。
~本文完,感谢阅读!
更多编程相关知识,请访问:编程视频!!
以上就是浅谈NodeJS获取程序退出码的方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号