Nodejs 第十四章(process)

简介: Nodejs 第十四章(process)

process 是Nodejs操作当前进程和控制当前进程的API,并且是挂载到globalThis下面的全局API

API 介绍

1. process.arch

返回操作系统 CPU 架构 跟我们之前讲的os.arch 一样

'arm''arm64''ia32''mips''mipsel''ppc''ppc64''s390''s390x'、以及 'x64'

2. process.cwd()

返回当前的工作目录 例如在 F:\project\node> 执行的脚本就返回这个目录 也可以和path拼接代替__dirname使用

3. process.argv

获取执行进程后面的参数 返回是一个数组 后面我们讲到命令行交互工具的时候会很有用,各种cli脚手架也是使用这种方式接受配置参数例如webpack

4. process.memoryUsage

用于获取当前进程的内存使用情况。该方法返回一个对象,其中包含了各种内存使用指标,如 rss(Resident Set Size,常驻集大小)、heapTotal(堆区总大小)、heapUsed(已用堆大小)和 external(外部内存使用量)等

{
    rss: 30932992, // 常驻集大小 这是进程当前占用的物理内存量,不包括共享内存和页面缓存。它反映了进程实际占用的物理内存大小
    heapTotal: 6438912, //堆区总大小 这是 V8 引擎为 JavaScript 对象分配的内存量。它包括了已用和未用的堆内存
    heapUsed: 5678624,  //已用堆大小
    external: 423221, //外部内存使用量 这部分内存不是由 Node.js 进程直接分配的,而是由其他 C/C++ 对象或系统分配的
    arrayBuffers: 17606 //是用于处理二进制数据的对象类型,它使用了 JavaScript 中的 ArrayBuffer 接口。这个属性显示了当前进程中 ArrayBuffers 的数量
  }
5. process.exit()

调用 process.exit() 将强制进程尽快退出,即使仍有未完全完成的异步操作挂起

下面例子5不会被打印出来 因为在2秒钟的时候就被退出了。

6. process.kill

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

process.kill(process.pid)
7. process.env

用于读取操作系统所有的环境变量,也可以修改和查询环境变量。

修改 注意修改并不会真正影响操作系统的变量,而是只在当前线程生效,线程结束便释放。

环境变量场景

区分开发环境 和 生产环境

npm install cross-env

这个库是干什么的 cross-env 是 跨平台设置和使用环境变量 不论是在Windows系统还是POSIX系统。同时,它提供了一个设置环境变量的脚本,使得您可以在脚本中以unix方式设置环境变量,然后在Windows上也能兼容运行

usage

cross-env NODE_ENV=dev

他的原理就是如果是windows 就调用SET 如果是posix 就调用export 设置环境变量

set NODE_ENV=production  #windows
export NODE_ENV=production #posix
目录
相关文章
|
6天前
|
设计模式 JavaScript API
Nodejs 第十七章(events)
Nodejs 第十七章(events)
28 0
|
6天前
|
JavaScript Unix Linux
Nodejs 第十二章(path)
Nodejs 第十二章(path)
29 0
|
6天前
|
存储 JavaScript 前端开发
❤Nodejs 第十四章(node中间件multer的认识安装使用)
【4月更文挑战第14天】Multer是Node.js用于处理multipart/form-data的中间件,专注于文件上传。。基本用法包括设置存储引擎,如磁盘存储(DiskStorage)或内存存储(MemoryStorage),并指定处理单个或多个文件的方法。例如,`multer.single('file')`处理单个文件上传。存储引擎DiskStorage适合永久保存,而MemoryStorage适合临时处理。可以通过`limits`选项限制文件大小,实现不同类型的文件有不同的大小限制。
44 0
|
6天前
|
Go 索引
Go系统编程不求人:os包全面解析
Go系统编程不求人:os包全面解析
80 0
|
6天前
|
JavaScript 前端开发 Shell
Nodejs 第十五章(child_process)
Nodejs 第十五章(child_process)
27 0
|
6天前
|
JavaScript Unix Linux
Nodejs 第十三章(os)
Nodejs 第十三章(os)
22 0
|
6天前
|
JavaScript 算法
Nodejs 第十九章(pngquant)
Nodejs 第十九章(pngquant)
48 0
|
6天前
|
JSON JavaScript Unix
Nodejs 第五章(Npm run 原理)
Nodejs 第五章(Npm run 原理)
38 0
|
Java Go 调度
go并发奥秘:GMP模型|Go主题月
为什么go能支持高并发,它和Java的多线程有什么不同? 常规的多线程是由CPU直接调度的,其中大部分时间花在了上下文切换上面,所以后面就了了协程(co-routine),用于减少上下文切换。
145 0
|
存储 Go
仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16
Golang只有二十五个系统保留关键字,二十几个系统内置函数,加起来只有五十个左右需要记住的关键字,纵观编程宇宙,无人能出其右。其中还有一些保留关键字属于“锦上添花”,什么叫锦上添花?就是从表面上看,就算没有,也无伤大雅,不影响业务或者逻辑的实现,比如lambda表达式之类,没有也无所谓,但在初始化数据结构的时候,我们无法避免地,会谈及两个内置函数:New和Make。
仙人指路,引而不发,Go lang1.18入门精炼教程,由白丁入鸿儒,Golang中New和Make函数的使用背景和区别EP16