Node.js的os模块是属于其核心模块之一,提供了操作相关的使用方法,引用方式如下:
const os = require('os');
这里只记录部分常用的api
os.hostname()
以字符串的形式返回操作系统的主机名
os.platform()
返回一个字符串, 指定Node.js编译时的操作系统平台
os.type()
返回一个字符串,表明操作系统的名字
代码:
const os = require('os');
console.log(os.type())
返回:
os.homedir()
以字符串的形式返回当前用户的home目录
代码:
const os = require('os');
console.log(os.homedir())
返回:
os.freemen()
以整数的形式回空闲系统内存 的字节数.
os.totalmem()
以整数的形式返回所有系统内存的字节数.
代码:
const os = require('os');
const menory = os.freemem()/os.totalmem() *100
console.log(`内存占用率${menory}%`);
返回:
os.networkInterfaces()
返回一个对象,包含只有被赋予网络地址的网络接口
在返回对象的每个关键词都指明了一个网络接口.
返回的值是一个对象数组, 每个都描述了赋予的网络地址.
被赋予网络地址的对象包含的属性:
-
address
<string> 被赋予的 IPv4 或 IPv6 地址 -
netmask
<string> IPv4 或 IPv6 子网掩码 -
family
<string>IPv4
或IPv6
-
mac
<string> 网络接口的MAC地址 -
internal
<boolean> 如果 网络接口是loopback或相似的远程不能用的接口时, 值为true
,否则为false
-
scopeid
<number> IPv6 数字领域识别码 (只有当family
是IPv6
时可用) -
cidr
<string> 以 CIDR 表示法分配的带有路由前缀的 IPv4 或 IPv6 地址。如果netmask
参数不可用,则该属性是null
。
os.cpus()
返回一个对象数组, 包含每个逻辑 CPU 内核的信息
下面的属性包含在每个对象中:
[
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 252020,
nice: 0,
sys: 30340,
idle: 1070356870,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 306960,
nice: 0,
sys: 26980,
idle: 1071569080,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 248450,
nice: 0,
sys: 21750,
idle: 1070919370,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 256880,
nice: 0,
sys: 19430,
idle: 1070905480,
irq: 20
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 511580,
nice: 20,
sys: 40900,
idle: 1070842510,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 291660,
nice: 0,
sys: 34360,
idle: 1070888000,
irq: 10
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 308260,
nice: 0,
sys: 55410,
idle: 1071129970,
irq: 880
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 266450,
nice: 1480,
sys: 34920,
idle: 1072572010,
irq: 30
}
}
]
os.userInfo([options])
返回当前有效用户的信息
options
<Object>
-
encoding
<string> 用于解释结果字符串的字符编码. 如果encoding
被设置为'buffer'
,username
,shell
, 和homedir
的值将成为Buffer
的实例. (默认是: 'utf8')
在 POSIX平台上, 这通常是password 文件的子集. 返回的对象包括 username, uid, gid, shell, 和 homedir. 在Windows系统上, uid 和 gid 域是 -1, and shell是 null
代码:
const os = require('os');
console.log(os.userInfo())
返回: