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