Node.js:OS模块
os模块,可以用来获取操作系统相关的信息和机器物理信息,例如操作系统平台,内核,cpu架构,内存,cpu,网卡等信息。
使用如下所示:
const os = require('os');
var dealTime = (seconds)=>{
var seconds = seconds|0;
var day = (seconds/(3600*24))|0;
var hours = ((seconds-day*3600)/3600)|0;
var minutes = ((seconds-day*3600*24-hours*3600)/60)|0;
var second = seconds%60;
(day<10)&&(day='0'+day);
(hours<10)&&(hours='0'+hours);
(minutes<10)&&(minutes='0'+minutes);
(second<10)&&(second='0'+second);
return [day,hours,minutes,second].join(':');
};
var dealMem = (mem)=>{
var G = 0,
M = 0,
KB = 0;
(mem>(1<<30))&&(G=(mem/(1<<30)).toFixed(2));
(mem>(1<<20))&&(mem<(1<<30))&&(M=(mem/(1<<20)).toFixed(2));
(mem>(1<<10))&&(mem>(1<<20))&&(KB=(mem/(1<<10)).toFixed(2));
return G>0?G+'G':M>0?M+'M':KB>0?KB+'KB':mem+'B';
};
//cpu架构
const arch = os.arch();
console.log("cpu架构:"+arch);
//操作系统内核
const kernel = os.type();
console.log("操作系统内核:"+kernel);
//操作系统平台
const pf = os.platform();
console.log("平台:"+pf);
//系统开机时间
const uptime = os.uptime();
console.log("开机时间:"+dealTime(uptime));
//主机名
const hn = os.hostname();
console.log("主机名:"+hn);
//主目录
const hdir = os.homedir();
console.log("主目录:"+hdir);
//内存
const totalMem = os.totalmem();
const freeMem = os.freemem();
console.log("内存大小:"+dealMem(totalMem)+' 空闲内存:'+dealMem(freeMem));
//cpu
const cpus = os.cpus();
console.log('*****cpu信息*******');
cpus.forEach((cpu,idx,arr)=>{
var times = cpu.times;
console.log(`cpu${idx}:`);
console.log(`型号:${cpu.model}`);
console.log(`频率:${cpu.speed}MHz`);
console.log(`使用率:${((1-times.idle/(times.idle+times.user+times.nice+times.sys+times.irq))*100).toFixed(2)}%`);
});
//网卡
console.log('*****网卡信息*******');
const networksObj = os.networkInterfaces();
for(let nw in networksObj){
let objArr = networksObj[nw];
console.log(`\r\n${nw}:`);
objArr.forEach((obj,idx,arr)=>{
console.log(`地址:${obj.address}`);
console.log(`掩码:${obj.netmask}`);
console.log(`物理地址:${obj.mac}`);
console.log(`协议族:${obj.family}`);
});
}
执行结果如下:
E:\developmentdocument\nodejsdemo>node os-example.js
cpu架构:x64
操作系统内核:Windows_NT
平台:win32
开机时间:00:09:18:08
主机名:test-PC
主目录:C:\Users\test
内存大小:3.90G 空闲内存:1.42G
cpu信息**
cpu0:
型号:Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
频率:3192MHz
使用率:7.32%
cpu1:
型号:Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
频率:3192MHz
使用率:5.80%
cpu2:
型号:Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
频率:3192MHz
使用率:6.31%
cpu3:
型号:Intel(R) Core(TM) i5-4460 CPU @ 3.20GHz
频率:3192MHz
使用率:6.37%
网卡信息**
本地连接:
地址:fe80::c409:72be:75f8:2d01
掩码:ffff:ffff:ffff:ffff::
物理地址:40:8d:5c:b8:da:df
协议族:IPv6
地址:1.1.1.69
掩码:255.255.255.0
物理地址:40:8d:5c:b8:da:df
协议族:IPv4
Loopback Pseudo-Interface 1:
地址:::1
掩码:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
物理地址:00:00:00:00:00:00
协议族:IPv6
地址:127.0.0.1
掩码:255.0.0.0
物理地址:00:00:00:00:00:00
协议族:IPv4
6TO4 Adapter:
地址:2002:101:145::101:145
掩码:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
物理地址:00:00:00:00:00:00
协议族:IPv6
E:\developmentdocument\nodejsdemo>
Node.js:OS模块的更多相关文章
- Node.js OS 模块
Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模块: var os = require("os") 方法 序号 方法 & 描述 1 os ...
- [Node.js]OS模块
摘要 Node.js有很多工具模块,比如os,path,net,dns,domain模块.这里先介绍os模块的使用方法.os模块提供了一些基本的系统操作函数. os模块 引入os模块 var os=r ...
- 36.Node.js 工具模块--OS模块系统操作
转自:http://www.runoob.com/nodejs/nodejs-module-system.html Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模 ...
- Node.js工具模块
在Node.js的模块库中提供实用的模块数量. 这些模块都是很常见的,并同时开发基于任何节点的应用程序频繁使用. S.N. 模块的名称和说明 1 OS Module提供基本的操作系统相关的实用功能 2 ...
- Node.js的模块载入方式与机制
Node.js中模块可以通过文件路径或名字获取模块的引用.模块的引用会映射到一个js文件路径,除非它是一个Node内置模块.Node的内置模块公开了一些常用的API给开发者,并且它们在Node进程开始 ...
- Node.js Web模块
什么是Web服务器? Web服务器是处理由HTTP客户端发送的,如web浏览器的HTTP请求的软件应用程序,并返回响应于客户端网页. Web服务器通常伴随着图片,样式表和脚本的HTML文档. 大多数W ...
- node.js基础模块http、网页分析工具cherrio实现爬虫
node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言 说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...
- Node.js:模块
概要:本篇博客主要介绍node.js的模块 1.创建模块 在node.js中创建一个模块非常简单,因为一个文件就是一个模块.我们只需要明白如何从其他文件中获取这个模块.Node.js提供了 expor ...
- node.js之模块
node.js之模块 1.自定义模块的设置 加载自定义模块利用require: eg: require('./custom_module.js') 2.从模块外部访问模块内的成员 2.1使用expor ...
- Node.js的安装以及Node.js的模块管理
索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...
随机推荐
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级
一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- 使用CSS3实现一个3D相册
CSS3系列我已经写过两篇文章,感兴趣的同学可以先看一下CSS3初体验之奇技淫巧,CSS3 3D立方体效果-transform也不过如此 第一篇主要列出了一些常用或经典的CSS3技巧和方法:第二篇是一 ...
- 算法与数据结构(十六) 快速排序(Swift 3.0版)
上篇博客我们主要聊了比较高效的归并排序算法,本篇博客我们就来介绍另一种高效的排序算法:快速排序.快速排序的思想与归并排序类似,都是采用分而治之的方式进行排序的.快速排序的思想主要是取出无序序列中第一个 ...
- react入门参考资料--step by step
ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出 ...
- Three.JS 从世界坐标系转换到屏幕坐标系
var projector = new THREE.Projector(); var world_vector = new THREE.Vector3(0,0,1); var vector = pro ...
- 张高兴的 UWP 开发笔记:汉堡菜单进阶
不同于Windows 8应用,Windows 10引入了"汉堡菜单"这一导航模式.说具体点,就拿官方的天气应用来说,左上角三条横杠的图标外加一个SplitView控件组成的这一导航 ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
- vs生成pro
1.修改.vcxproj文件 <PropertyGroup Label="Globals"> <ProjectGuid>{AAAA4039-13B ...