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 的过程并发送一个信号