乐趣区

关于node.js:每日灵魂一问浅谈nodejs中的process

process

process 是 node.js 的全局对象,不须要应用 require() 加载即可应用


process 模块次要做两方面的事件

  • 1. 获取过程信息(资源应用、运行环境、运行状态、三个规范输入输出流)
  • 2. 执行过程操作(监听事件、调度工作、收回正告、退出过程)

1. 获取过程信息(资源应用、运行环境、运行状态)

1.1 获取过程信息 - 资源应用:指运行此过程所耗费的机器资源

  process.memoryUsage() 内存 
  process.cpuUsage() cpu

1.2 获取过程信息 - 运行环境

  process.cwd() 运行目录
  process.version 获取 node 环境
  process.arch 获取 CPU 架构
  process.env.NODE_ENV 获取用户环境 辨别 development 和 production
  process.platform 零碎平台
  process.uptime() 曾经运行的秒 

1.3 获取过程信息 - 运行状态

  process.argv 能够获取传入的命令行参数,返回值是一个数组
  process.execArgv 返回 node 非凡 (node-specific) 的命令行参数
  process.execPath 绝对路径
  process.mainModule 判断是否是主文件
 

1.4 获取过程信息 - 规范输入输出流

  process.stdout 规范输入
  process.stdin 规范输出
  process.stderr 规范谬误输入 

2. 执行过程操作(监听事件、调度工作、收回正告)

2.1 执行过程操作 - 监听事件 process.on()

  process.on(‘beforeExit’,cb) 外面能够执行异步代码
  process.on(‘exit’,cb)执行同步代码
  process.on(‘uncaughtException’,cb) 捕捉异样信息(没有 try catch 的异样信息)

2.2 执行过程操作 - 调度工作 process.nextTick(fn)

  process.nextTick(fn) 把回调函数作为微工作,放入事件循环的工作队列中 

2.3 执行过程操作 - 收回正告

  process.emitWarning('Something warning   happened!', {
      code: 'MY_WARNING',
      type: 'XXXX'
  });

2.4 执行过程操作 - 退出过程

  process.abort()
  process.exit() 终止以后过程并返回给定的 code
  process.kill(pid, [signal]) 完结对应某 pid 的过程并发送一个信号

退出移动版