process
操作和控制当前进程的 api,并且挂载到 globalThis 下,是全局 API。
全局 API:不需要引入,直接调用。
ObjectDefineProperty(globalThis, "process", {
__proto__: null,
get() {
return _process;
},
set(value) {
_process = value;
},
enumerable: false,
configurable: true,
});
api
platform
同 os。
arch
同 os。
argv
返回一个数组:
0:运行工具地址
1:运行文件
2:运行命令后的参数
cwd
获取工作目录(同__dirname。)。
注意:在 esm 模式内不能使用
__dirname,只能使用 cwd。
memoryUsage
返回内存信息。
const res = {
rss: 31006720, // 常驻集大小 物理内存的存量
heapTotal: 6438912, // V8给我们分配的堆内存的总大小包括未使用的内存
heapUsed: 5679584, //已经使用的内存
external: 423221, //外部的内存++使用的
arrayBuffers: 17606, //二进制的总最
};
exit
退出进程。可被监听。
process.exit();
process.on("exit", () => {});
kill
杀死进程。需要获取进程的 pid。
setTimeout(() => {
process.kill(process.pid);
}, 2000);
env
获取操作系统的所有环境变量。
在系统配置 -> 环境变量中可配。在当前进程中可修改,不影响操作系统全局。
process.env.JAVA_HOME = "ssss";
应用
cross-env
用于设置环境变量的库。
原理:windows 调用SET 去设置环境变量;posix 使用 export 设置环境变量。