• 技术文章 >web前端 >js教程

    了解Node.js中的process对象

    青灯夜游青灯夜游2020-12-01 17:36:24转载1615

    相关推荐:《node js教程

    process 对象是一个全局变量,是一个 EventEmitter 实例,提供了当前 Node.js 进程的信息和操作方法

    系统信息

    process 对象提供了属性用于返回关键系统信息,常用的有

    stdin & stdout

    Node.js 和标准输入、输出设备交互对象也通过 process 对象提供

    process.stdin.pipe(process.stdout)

    简单一行代码可以实现把控制台输入内容在控制台原样打印出来

    执行信息

    process.execPath

    process.execPath 属性返回执行当前脚本的 Node 二进制文件的绝对路径

    process.argv

    process.argv 属性返回一个数组,内容是执行脚本时的参数,但数组前两个固定

    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 对象是 EventEmitter 对象实例,可以监听一些系统核心事件, 常使用的有

    exit

    当 Node.js 进程因以下原因之一即将退出时,则会触发 exit 事件:

    此时无法阻止退出事件循环,并且一旦所有 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对象的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:Node.js process对象
    上一篇:详解Node.js中的事件 下一篇:javascript原型和继承是面试必会的
    大前端线上培训班

    相关文章推荐

    • 了解Node.js中的模块系统• Node.js进行调试的几种方法介绍• 如何使用Llama Logs显示和调试NodeJS错误?• 使用Node.js+Vue.js来构建文件压缩应用程序

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网