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
返回包含用户环境的对象。此对象一般被作为项目环境变量配置文件。