欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > node学习记录-process

node学习记录-process

2025/5/18 13:48:51 来源:https://blog.csdn.net/weixin_43641912/article/details/143367953  浏览:    关键词:node学习记录-process

来自: https://juejin.cn/post/7274072375964254269
process是Nodejs操作和控制当前进程的API,并且是挂载到globalThis下的全局

process.arch

同os.arch()一样,返回操作系统的CPU架构

const os = require('os')
console.log(process.arch, os.arch())//x64 x64

process.cwd()

返回当前的工作目录

console.log(process.cwd())//D:\LR\node

process.argv

获取执行进程后面的参数,返回一个数组,例如执行: node process one two=three four,则可以获取到one,two==three, four,在命令行交互工具中有用,各种cli脚手架也是使用这种方式接受配置参数例如webpack

console.log(process.argv)

在这里插入图片描述

process.memoryUsage()

获取当前进程的内存使用情况,返回一个对象
{
rss:19050496, 常驻集大小,进程当前占用的物理内存量,不包括共享内存和页面缓存,反应了进程实际占用物理内存大小,
heapTotal: 4915200,堆区总大小,这是V8引擎为JavaScript对象分配的内存量,它包括了已用和未用的堆内存
heapUsed: 4021528,已用堆大小
external: 240772,外部内存使用量,这部分内存不是由Node.js进程直接分配的,而是由其他c/c++对象或系统分配的
arrayBuffers: 11158用于处理二进制数据的对象类型,它使用了JavaScript中的ArrayBuffer接口,这个属性显示了当前进程中 ArrayBuffers 的数量
}

console.log(process.memoryUsage())

在这里插入图片描述

ArrayBuffer:JavaScript全局对象,用于表示一个通用的、固定长度的二进制缓冲区,是一个字节数组,通常在其他语言中称为“byte array”,MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer

process.exit()

5秒不会被打印,因为在2秒的时候程序已经退出了

setTimeout(()=>{console.log('5秒')
}, 5000)
setTimeout(()=>{// 2秒后退出process.exit()
}, 2000)
process.on('exit', ()=>{console.log('进程被退出')
})

在这里插入图片描述

process.kill()

与exit类似,kill用来杀死一个进程,接受一个参数进程id可以通过process.pid 获取

process.env

返回包含用户环境的对象,修改和查询环境变量。修改并不会真正影响操作系统的变量,而是只在当前线程生效,线程结束便释放。

console.log(process.env)

在这里插入图片描述

环境变量

区分开发环境和生产环境
cross-env: 跨平台设置和使用环境变量 不论是在Windows系统还是POSIX系统。同时,它提供了一个设置环境变量的脚本,使得您可以在脚本中以unix方式设置环境变量,然后在Windows上也能兼容运行
安装:npm install cross-env
package.json

{"name": "node","version": "1.0.0","description": "first test node","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1","dev": "cross-env NODE_ENV=dev node process.js","build": "cross-env NODE_ENV=prod node process.js"},"author": "","license": "ISC","dependencies": {"cross-env": "^7.0.3","jsdom": "^24.1.3","node-fetch": "^3.3.2"}
}

执行npm run dev
在这里插入图片描述
执行npm run build
在这里插入图片描述
这里没懂
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词