首页 > 编程语言 >前端开发系列089-Node篇之os

前端开发系列089-Node篇之os

时间:2022-12-16 09:13:28浏览次数:85  
标签:Node 089 调用 _____________ Object ffff 00 os

title: '前端开发系列089-Node篇之os'
tags:
  - Node系列
categories: []
date: 2018-10-07 23:20:13

一、OS模块介绍

Node中的OS模块提供了和当前系统相关的一系列实用方法。在代码中可以直接用os = require("os")的方式来引入。OS模块本身非常的简单,本文将简单对其常用的方法和重要属性进行介绍并提供示例。

wendingding$ node
> console.dir(os,{showHiddren:true,depth:0,colors:true})

{ arch: [Object],
  cpus: [Function: cpus],
  EOL: '\n',
  endianness: [Object],
  freemem: [Object],
  homedir: [Object],
  hostname: [Object],
  loadavg: [Function: loadavg],
  networkInterfaces: [Function: networkInterfaces],
  platform: [Object],
  release: [Object],
  tmpdir: [Object],
  totalmem: [Object],
  type: [Object],
  userInfo: [Function: getUserInfo],
  uptime: [Object],
  getNetworkInterfaces: [Function: deprecated],
  tmpDir: [Function: deprecated],
  constants: [Object] 
}

二、基本使用

OS模块中的这些方法都不接受参数,全是获取(信息)型的方法,使用简单直接调用即可。

//001 导入模块
var os = require("os");
//002 迭代os对象
for(var f in os)
{
    //003 获取os对象所有的方法并控制输出
    if(typeof os[f] === "function")
    {
        console.log("当前方法名称:",f);
        console.log("调用执行结果:",os[f]());
    }else
    {
        //004 获取os对象中所有的属性并输出名称
        console.log("当前属性名称:",f);
    }
    console.log("_____________");
}

使用自己的电脑进行测试,执行上面的代码,打印OS模块中所有的方法名并调用这些方法输出结果,下面列出命令行执行JavaScript文件的结果。

wendingding$ node os.js 
当前方法名称: arch
调用执行结果: x64
_____________
当前方法名称: cpus
调用执行结果: [ { model: 'Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz',
    speed: 2700,
    times: { user: 730600, nice: 0, sys: 570160, idle: 4650220, irq: 0 } },
  { model: 'Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz',
    speed: 2700,
    times: { user: 247120, nice: 0, sys: 137070, idle: 5566140, irq: 0 } },
  { model: 'Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz',
    speed: 2700,
    times: { user: 667530, nice: 0, sys: 377510, idle: 4905300, irq: 0 } },
  { model: 'Intel(R) Core(TM) i5-5257U CPU @ 2.70GHz',
    speed: 2700,
    times: { user: 256200, nice: 0, sys: 137540, idle: 5556590, irq: 0 } } ]
_____________
当前属性名称: EOL
_____________
当前方法名称: endianness
调用执行结果: LE
_____________
当前方法名称: freemem
调用执行结果: 159780864
_____________
当前方法名称: homedir
调用执行结果: /Users/文顶顶
_____________
当前方法名称: hostname
调用执行结果: wendingding.local
_____________
当前方法名称: loadavg
调用执行结果: [ 1.8583984375, 1.6640625, 1.6328125 ]
_____________
当前方法名称: networkInterfaces
调用执行结果: { lo0: 
   [ { address: '127.0.0.1',
       netmask: '255.0.0.0',
       family: 'IPv4',
       mac: '00:00:00:00:00:00',
       internal: true,
       cidr: '127.0.0.1/8' },
     { address: '::1',
       netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 0,
       internal: true,
       cidr: '::1/128' }
       ···省略···
   ]}
_____________
当前方法名称: platform
调用执行结果: darwin
_____________
当前方法名称: release
调用执行结果: 17.4.0
_____________
当前方法名称: tmpdir
调用执行结果: /var/folders/6t/83z6zbfn0w56l2dzc_c2y1wh0000gn/T
_____________
当前方法名称: totalmem
调用执行结果: 8589934592
_____________
当前方法名称: type
调用执行结果: Darwin
_____________
当前方法名称: userInfo
调用执行结果: { uid: 501,
  gid: 20,
  username: 'wendingding',
  homedir: '/Users/文顶顶',
  shell: '/bin/bash' }
_____________
当前方法名称: uptime
调用执行结果: 8730
_____________
当前方法名称: getNetworkInterfaces
调用执行结果: { lo0: 
   [ { address: '127.0.0.1',
       netmask: '255.0.0.0',
       family: 'IPv4',
       mac: '00:00:00:00:00:00',
       internal: true },
     { address: '::1',
       netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 0,
       internal: true },
     { address: 'fe80::1',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 1,
       internal: true } ],
  en0: 
   [ { address: '192.168.51.245',
       netmask: '255.255.255.0',
       family: 'IPv4',
       mac: 'a4:5e:60:e0:65:b1',
       internal: false } ],
  awdl0: 
   [ { address: 'fe80::58c6:9eff:feb1:f896',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '5a:c6:9e:b1:f8:96',
       scopeid: 8,
       internal: false } ],
  utun0: 
   [ { address: 'fe80::18e0:16fa:bb6:ab15',
       netmask: 'ffff:ffff:ffff:ffff::',
       family: 'IPv6',
       mac: '00:00:00:00:00:00',
       scopeid: 12,
       internal: false } ] }
_____________
当前方法名称: tmpDir
调用执行结果: /var/folders/6t/83z6zbfn0w56l2dzc_c2y1wh0000gn/T
_____________
当前属性名称: constants
_____________
(node:2128) [DEP0023] DeprecationWarning: os.getNetworkInterfaces is deprecated.
(node:2128) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. 

整体结构

OS模块对象的EOL属性是一个字符串常量,该常量定义了相关操作系统的行末标志。如果是POSIX 系统,那么则对应的是\n符号,如果是Windows系统,那么对应的是\r\n符号。

现存的CPU架构可能存在:'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', 'x64'等情况。

二进制编译环境的字节顺序通常有两种:'BE'(大端模式)和'LE'(小端模式)

平均负载是系统活动的测量由操作系统自己计算得出,表达为一个分数. 通常理想的平均负载应该比系统的逻辑CPU的数目要少,平均负载是UNIX相关的概念,在Windows平台上,其返回值总是[0, 0, 0]。

关于OS常量和错误常量相关的信息,请参考官方文档

标签:Node,089,调用,_____________,Object,ffff,00,os
From: https://www.cnblogs.com/wendingding/p/16986497.html

相关文章

  • 前端开发系列088-Node篇之url
    title:'前端开发系列088-Node篇之url'tags:-Node系列categories:[]date:2018-09-2523:20:13本文对Node的内置模块url进行介绍,包括基本情况和简单使用。一、......
  • 前端开发系列087-Node篇之Buffer
    title:'前端开发系列087-Node篇之Buffer'tags:-Node系列categories:[]date:2018-09-0623:20:13一、Buffer介绍Buffer是Node中特有的数据类型,它是Node作为运......
  • 前端开发系列086-Node篇之require
    title:'前端开发系列086-Node篇之require'tags:-Node系列categories:[]date:2018-09-0523:20:13本文主要介绍require对象(函数)的结构,使用方法和注意点,对模块......
  • 前端开发系列085-Node篇之global
    title:'前端开发系列085-Node篇之global'tags:-Node系列categories:[]date:2018-09-0423:20:13本文介绍Node中的全局对象,包括global本身以及控制台输出对象Co......
  • 前端开发系列084-Node篇之fs
    title:'前端开发系列084-Node篇之fs'tags:-Node系列categories:[]date:2018-09-0112:20:13本文对Node的内置模块fs进行介绍,包括模块的基本情况和简单使用。......
  • 前端开发系列083-Node篇之http
    title:'前端开发系列083-Node篇之http'tags:-Node系列categories:[]date:2018-08-2823:20:13本文对Node的内置模块http进行介绍,包括该模块的基本情况和简单使......
  • 前端开发系列082-Node篇之PRPL
    title:'前端开发系列082-Node篇之PRPL'tags:-Node系列categories:[]date:2018-08-2700:22:13本文主要介绍Node提供的交互式运行环境REPL,包括常见操作以及基......
  • 前端开发系列081-Node篇之queryString
    title:'前端开发系列081-Node篇之queryString'tags:-Node系列categories:[]date:2018-08-2623:20:13本文对Node的内置模块QueryString进行介绍,包括基本情况......
  • 前端开发系列079-Node篇之npm+
    title:'前端开发系列079-Node篇之npm+'tags:-Node系列categories:[]date:2018-07-2816:21:13本文介绍NPM系列核心工具(npm、nrm、npx和nvm)的基本使用和常用......
  • 前端开发系列078-Node篇之npm
    title:'前端开发系列078-Node篇之npm'tags:-Node系列categories:[]date:2018-07-2523:21:13本文输出Node中和包管理有关的基本内容,即npm的使用。一、简单介......