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

本文详细介绍了Node.js中的Process对象,包括其基本概念、事件处理、核心方法等内容,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 ${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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值