学习笔记来源于 哔哩哔哩小满zs的nodejs课程 && 网上搜索的一些资料
小满zs: process 进程_哔哩哔哩_bilibili
在Node.js中,process
是一个全局对象,提供了许多与当前进程相关的方法和属性。
-
process.argv
:获取当前进程的命令行参数。它是一个数组,第一个元素是Node.js的可执行文件路径,第二个元素是当前执行的JavaScript文件路径,后面的元素是传递给脚本的命令行参数。 -
process.cwd()
:获取当前工作目录的路径。 -
process.exit([code])
:退出当前进程,可选地指定一个退出码。默认的退出码是0,表示正常退出。 -
process.nextTick(callback)
:将回调函数推迟到下一个事件循环迭代中执行。这比setTimeout(callback, 0)
更高效。 -
process.on(event, callback)
:监听指定的事件,并在事件发生时执行回调函数。常见的事件包括exit
(进程退出时触发)、uncaughtException
(捕获未处理的异常)等。 -
process.env
:包含当前进程的环境变量。它是一个对象,可以通过添加或修改属性来设置环境变量。 -
process.pid
:获取当前进程的PID(进程ID)。 -
process.platform
:获取当前操作系统的平台。 -
process.memoryUsage()
:获取当前进程的内存使用情况。返回一个包含heapTotal
(堆的总大小)、heapUsed
(堆已使用的大小)、rss
(常驻集大小)等属性的对象。 -
process.uptime()
:获取当前进程的运行时间,以秒为单位。
const process = require("node:process")
console.log(process.arch);//X64
console.log(process.platform);// win32
console.log(process.version);// v18.16.1
// _dirname 在esm模式下是使用不了的,可以使用cwd来进行替代
console.log(process.cwd(), __dirname);//C:Users孙飞Desktop九月份呢复习ThingsNode.js学习
// 内存信息
// { rss: 2000000, heapTotal: 4000000, heapUsed: 2000000 ,external:445598,arrayBuffer:17606}
// res: 长内存,物理内存大小
// heapTotal: V8给我们分配的堆内存的总大小包括未使用的内存
// external : 外部分内存 c或者 c 使用的
// arrayBuffer : 二进制的总量
console.log(process.memoryUsage());
// 退出进程
// process.exit();
// 杀死进程
// process.kill(pid, signal)
process.on("exit",()=>{
console.log("进程退出了");
})
// setTimeout(() => {
// process.exit();
// },5000)
// setTimeout(() => {
// process.kill(process.pid,"SIGINT");
// },2000)
// env 环境变量
// 获取系统的全部的系统变量
// 可以进行修改,不过只在当前的进程中生效,并不会真正地去影响我们电脑里面的环境变量
console.log(process.env);
// 开发环境 http 生产环境 https
console.log(process.env.NODE_ENV == "dev" ? '开发环境' : '生产环境');
// corss-env