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])终止以后过程并返回给定的 code  process.kill(pid, [signal])完结对应某pid的过程并发送一个信号