Node.js OS 模块

Node.js 工具模块Node.js 工具模块

Node.js os 模块提供了一些基本的系统操作函数。

os 模块是 Node.js 的内置模块之一,用于获取操作系统的相关信息,如平台、CPU、内存、网络接口等。

os 模块中的方法可以帮助开发者在跨平台环境中适配和监控系统信息,确保程序运行在各种操作系统上。

我们可以通过以下方式引入该模块:

var os = require("os")

方法

os 常用方法及属性如下:

方法描述示例
os.arch()返回操作系统的 CPU 架构。console.log(os.arch()); // 输出:'x64'
os.constants返回包含操作系统特定常量的对象(如错误码、信号等)。console.log(os.constants.signals);
os.cpus()返回一个对象数组,每个对象包含 CPU 内核的信息,如型号、速度、使用情况等。console.log(os.cpus());
os.endianness()返回 CPU 的字节序(BE 表示大端字节序,LE 表示小端字节序)。console.log(os.endianness()); // 输出:'LE'
os.freemem()返回系统的空闲内存量(以字节为单位),可用于监控系统资源。console.log(os.freemem());
os.homedir()返回当前用户的主目录路径。console.log(os.homedir());
os.hostname()返回主机名。console.log(os.hostname());
os.loadavg()返回一个包含 1、5 和 15 分钟平均负载的数组,仅在 Unix 系统上有效。console.log(os.loadavg());
os.networkInterfaces()返回一个对象,包含每个网络接口的地址信息,如 IP 地址MAC 地址console.log(os.networkInterfaces());
os.platform()返回操作系统平台,如 'darwin''win32''linux' 等。console.log(os.platform());
os.release()返回操作系统的发行版本。console.log(os.release());
os.tmpdir()返回操作系统默认的临时文件目录路径。console.log(os.tmpdir());
os.totalmem()返回系统总内存量(以字节为单位)。console.log(os.totalmem());
os.type()返回操作系统的名称,如 'Linux''Darwin'(macOS)、'Windows_NT' 等。console.log(os.type());
os.uptime()返回操作系统运行时间,以秒为单位。console.log(os.uptime());
os.userInfo([options])返回当前用户的详细信息,如用户名、主目录、UID、GID 等。支持配置 options 对象,可设置字符编码(默认是 'utf8')。console.log(os.userInfo());

属性

属性描述示例
os.EOL返回当前操作系统的行尾标识符(\n\r\n),方便处理跨平台的文件读写。console.log(os.EOL); // Windows 输出:'\r\n',Linux 输出:'\n'

实例

创建 main.js 文件,代码如下所示:

实例

const os = require('os');

// 获取系统架构
console.log('系统架构:', os.arch());

// 获取 CPU 信息
console.log('CPU 信息:', os.cpus());

// 获取空闲内存
console.log('空闲内存:', os.freemem());

// 获取总内存
console.log('总内存:', os.totalmem());

// 获取主目录
console.log('主目录:', os.homedir());

// 获取系统平台
console.log('系统平台:', os.platform());

// 获取系统名称
console.log('系统名称:', os.type());

// 获取平均负载(仅适用于 Unix 系统)
console.log('平均负载:', os.loadavg());

// 获取网络接口信息
console.log('网络接口信息:', os.networkInterfaces());

代码执行结果类似如下:

系统架构: arm64
CPU 信息: [
  {
    model: 'Apple M1',
    speed: 24,
    times: { user: 18515240, nice: 0, sys: 9460280, idle: 38401220, irq: 0 }
  }
...
]
空闲内存: 167411712
总内存: 8589934592
主目录: /Users/RUNOOB
系统平台: darwin
系统名称: Darwin
平均负载: [ 11.4658203125, 4.49560546875, 3.35791015625 ]
网络接口信息: {
...

Node.js 工具模块Node.js 工具模块