Node.js中的process对象是什么-创新互联
这篇文章主要介绍了Node.js中的process对象是什么,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
公司主营业务:网站制作、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出麻章免费做网站回馈大家。process 对象是一个全局变量,是一个 EventEmitter 实例,提供了当前 Node.js 进程的信息和操作方法
系统信息
process 对象提供了属性用于返回关键系统信息,常用的有
- title:进程名称,默认值 node,程序可以修改,可以让错误日志更清晰
- pid:当前进程 pid
- ppid:当前进程的父进程 pid
- platform:运行进程的操作系统(aix、drawin、freebsd、linux、openbsd、sunos、win32)
- version:Node.js 版本
- env:当前Shell的所有环境变量
stdin & stdout
Node.js 和标准输入、输出设备交互对象也通过 process 对象提供
process.stdin.pipe(process.stdout)
简单一行代码可以实现把控制台输入内容在控制台原样打印出来
执行信息
process.execPath
process.execPath 属性返回执行当前脚本的 Node 二进制文件的绝对路径
process.argv
process.argv 属性返回一个数组,内容是执行脚本时的参数,但数组前两个固定
执行当前脚本的 Node 二进制文件的绝对路径
当前执行文件绝对路径
process.js
console.log(process.argv);
node process.js a --b=2 [ '/usr/local/bin/node', '/Users/undefined/node-demo/process.js', 'a', '--b=2' ]
process.execArgv
process.execArgv 属性返回一个数组,成员是命令行下执行脚本时,在 Node 可执行文件与脚本文件之间的命令行参数process.js
console.log(process.execArgv);
node --inspect process.js [ '--inspect' ]
常用操作方法
- process.chdir():切换工作目录到指定目录
- process.cwd():返回运行当前脚本的工作目录的路径,也就是执行 node 命令时候的目录
- process.exit():退出当前进程
- process.memoryUsage():返回 Node.js 进程的内存使用情况
进程事件
process 对象是 EventEmitter 对象实例,可以监听一些系统核心事件, 常使用的有
exit
当 Node.js 进程因以下原因之一即将退出时,则会触发exit
事件:
- 显式调用
process.exit()
方法 - Node.js 事件循环不再需要执行任何其他工作
此时无法阻止退出事件循环,并且一旦所有exit
事件的监听器都已完成运行时,Node.js 进程将终止
process.on('exit', (code) => { console.log(`退出码: ${code}`); });
uncaughtException
当前进程抛出一个没有被捕捉的错误时,会触发uncaughtException
事件
process.on('uncaughtException', function (err) { console.error(err.stack); });
beforeExit
当 Node.js 清空其事件循环并且没有其他工作要安排时,会触发beforeExit
事件。 通常 Node.js 进程将在没有调度工作时退出,但是在beforeExit
事件上注册的监听器可以进行异步调用使 Node.js 进程继续
process.on('beforeExit', (code) => { console.log('进程 beforeExit 事件的代码: ', code); }); process.on('exit', (code) => { console.log('进程 exit 事件的代码: ', code); }); console.log('此消息新显示'); // 打印: // 此消息新显示 // 进程 beforeExit 事件的代码: 0 // 进程 exit 事件的代码: 0
message
如果使用 IPC 通道 fork Node.js 进程,子进程收到父进程使用childprocess.send()
发送的消息,就会触发message
事件
process.on('message', (m) => { console.log('子进程收到消息', m); });
process.nextTick(callback)
process.nextTick() 方法将 callback 添加到下一个时间点的队列执行
感谢你能够认真阅读完这篇文章,希望小编分享Node.js中的process对象是什么内容对大家有帮助,同时也希望大家多多支持创新互联网站建设公司,,关注创新互联行业资讯频道,遇到问题就找创新互联网站建设公司,,详细的解决方法等着你来学习!
名称栏目:Node.js中的process对象是什么-创新互联
文章源于:http://azwzsj.com/article/diiscj.html