node:os
用于获取操作系统相关的信息
获取 home 目录
import os from 'node:os'
os.homedir() // => /User/peterroe获取临时目录
在需要临时存放内容的时候有用
os.tmpdir() // => /var/folders/7j/x8ybp_ds3856rtyr71kzf_0m0000gn/T获取主机名
os.hostname() //=> peterroedeMacBook-Pro.localCPU 信息
可以用于确定 cpu 型号以及核心的数量
os.cpus()
/*
[
{
model: 'Apple M2 Pro',
speed: 24,
times: { user: 36486110, nice: 0, sys: 27770960, idle: 420009950, irq: 0 }
},
{
model: 'Apple M2 Pro',
speed: 24,
times: { user: 41855360, nice: 0, sys: 32085420, idle: 409598960, irq: 0 }
},
// ...
]
*/如果获取 CPU 核心数量可能是为了最大利用多核心的优势,其实更加准确的方法应该是:
import { availableParallelism } from 'node:os';
const numCPUs = availableParallelism(); // v18.14.0 available通过如上方法获得可用的并行度
获取操作系统架构
os.arch() // => arm64内存信息
返回机器内存容量,单位是字节
os.totalmen() // => 34359738368操作系统平台
// 返回一个字符串,标识编译 Node.js 二进制文件的操作系统平台。该值是在编译时设置的
os.platform() //=> darwin | aix | linux | ...
// 返回操作系统名称
os.type() //=> Darwin | Linux | Windows_NT获取用户名
可以获取到 username、homedir 和 shell 的信息
os.userInfo() // =>
/*
{
uid: 501,
gid: 20,
username: 'peterroe',
homedir: '/Users/peterroe',
shell: '/bin/zsh'
}
*/EOL
os.EOL === '\n' // true in POXIS
os.EOL === '\r\n' // true in Windows