Node.js OS 模块
Node.js os 模块提供了一些基本的系统操作函数。
os 模块是 Node.js 的内置模块之一,用于获取操作系统的相关信息,如平台、CPU、内存、网络接口等。
os 模块中的方法可以帮助开发者在跨平台环境中适配和监控系统信息,确保程序运行在各种操作系统上。
我们可以通过以下方式引入该模块:
var os = require("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());
// 获取系统架构
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 ] 网络接口信息: { ...