node全局变量process(包含常用事件及方法)

来源:互联网 发布:网络打线钳 编辑:程序博客网 时间:2024/05/29 02:02

process一句话描述

process对象是控制node.js进程信息的对象,作为一个node全局对象,它直接可用而不需要通过require()

process事件处理

事件名 事件触发条件 beforeExit Node.js清空其事件循环并且没有额外的工作来计划触发 disconnect IPC通道关闭触发 exit 关闭nodejs进程 message IPC通道中,进程收到父进程消息 rejectionHandled Promise返回拒绝处理时触发 uncaughtException 出现未捕获的异常 unhandledRejection Promise返回拒绝而未处理处理 warning 手动触发警告

以下代码是process-warning事件的demo

process.on('warning', (warning) => {  console.warn(warning.name);    // Print the warning name  console.warn(warning.message); // Print the warning message  console.warn(warning.stack);   // Print the stack trace});

process核心方法

process.abort()

立即退出nodejs进程

以下边的mocha测试代码为例,若使用了process.abort(),则之后的代码再不会执行(不会报错)

it('should no error to get academic by id', done => {    agent.get('/app/academic/' + academicId)        .set('Content-Type', 'application/json')        .expect(200)        .then(res => {            console.log(55);            // process.abort();            console.log(666);            should.equal(res.body.code, 'success');            should.equal(res.body.data.name, 'steven');            done();        })        .catch(done);});

process.arch()

输出当前操作系统处理器位数[可能结果:’arm’,’ia32’,’x64’]

console.log(`This processor architecture is ${process.arch}`);//This processor architecture is x64

process.argv

Node程序中打印process.argv返回一个数组,包含你的启动文件路径,如下(我使用gulp启动的文件)

[ 'C:\\Program Files\\nodejs\\node.exe',  'C:\\Users\\Steven\\AppData\\Roaming\\npm\\node_modules\\gulp\\bin\\gulp.js',  'try' ]

process.channel

输出对IPC通道的应用,若不存在则返回undefined

process.chdir(目录)

更改Node.js进程的当前工作目录。

操作失败会抛出异常。

process.config
返回一个对象,包含用于编译当前node.js可执行文件的配置选项。

process.cpuUsage
返回当前CPU使用率,比如:

{ user: 3421000, system: 890000 }

process.cwd()
返回Node.js进程的当前工作目录。

G:\eacontentbuilder

process.env
返回包含用户环境的对象。此对象一般被作为项目环境变量配置文件。

END