当前位置: 首页 > news >正文

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
在这里插入图片描述
这里没懂
在这里插入图片描述


http://www.mrgr.cn/news/61982.html

相关文章:

  • Pyspark中pyspark.sql.functions常用方法(4)
  • 华为OD机试真题---狼羊过河
  • ctfshow(155->158)--文件上传漏洞--绕过黑名单
  • FFT 快速傅里叶变换
  • vue3+vite5 打包优化
  • Spring Boot集成PageHelper分页插件详解---补充
  • 【flink】之kafka到kafka
  • Flask
  • Python 中 jieba 模块详解
  • Frida使用
  • ✨云桥计划✨
  • 最小均方估计贝叶斯估计
  • 《解锁思维潜能:高效思考的八大模型》
  • @Configuration+@Bean 和 @Component 的区别
  • 【K8S系列】Kubernetes 中 Pod 无法通过 Service 名称访问服务的 DNS 解析失败问题【已解决】
  • 跨设备使用的便签软件哪款好?
  • XSS漏洞绕过姿态全解
  • 基于STM32设计的老人摔倒检测报警系统(升级版)(258)
  • 《人工智能炒股:变革与挑战》
  • 5G在汽车零部件行业的应用
  • 软件测试学习笔记丨SeleniumPO模式
  • 智能工厂的设计软件 从关于语言的语言开始 之1
  • 2025年计算机视觉研究进展与应用国际学术会议 (ACVRA 2025)
  • JVM 复习1
  • IMX6ULL裸机-汇编_反汇编_机器码
  • 利士策分享,赚大钱与赚小钱的哲学,选大还是小?