Skip to content
0

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.local

CPU 信息

可以用于确定 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

process.arch 的区别

内存信息

返回机器内存容量,单位是字节

os.totalmen() // => 34359738368

操作系统平台

// 返回一个字符串,标识编译 Node.js 二进制文件的操作系统平台。该值是在编译时设置的
os.platform() //=> darwin | aix | linux | ...
// 返回操作系统名称
os.type() //=> Darwin | Linux | Windows_NT

获取用户名

可以获取到 usernamehomedirshell 的信息

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

获取网络信息

点击查看官网原文

Released under the MIT License.