在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\九月份呢复习Things\Node.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