您的位置:首页 > Web前端 > Node.js

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

2017-11-27 20:39 309 查看

process一句话描述

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

process事件处理

事件名事件触发条件
beforeExitNode.js清空其事件循环并且没有额外的工作来计划触发
disconnectIPC通道关闭触发
exit关闭nodejs进程
messageIPC通道中,进程收到父进程消息
rejectionHandledPromise返回拒绝处理时触发
uncaughtException出现未捕获的异常
unhandledRejectionPromise返回拒绝而未处理处理
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
4000
${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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: