Nodejs OS操作系统模块

ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ(乐观的人在每个危机里看到机会,悲观的人在每个机会里看见危机。——邱吉尔)
ㅤㅤㅤ
ㅤㅤㅤ
ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ在这里插入图片描述

Nodejs version v14.1.0

os 模块提供了与操作系统相关的实用方法和属性

  • 返回操作系统特定的行末标志
/**
 * @method os.EOL
 * @return 返回操作系统特定的行末标志
 */
const eol = os.EOL;
console.log(`eol = ${JSON.stringify(eol)}`); //eol = "\n"
  • 返回为其编译 Node.js 二进制文件的操作系统的 CPU 架构
/**
 * @method os.arch()
 * @return 返回为其编译 Node.js 二进制文件的操作系统的 CPU 架构
 * @description 可能的值有:'arm'、 'arm64'、 'ia32'、 'mips'、 'mipsel'、 'ppc'、 'ppc64'、 's390'、 's390x'、 'x32' 和 'x64'
 * @description 返回值和process.arch相同
 */
const arch = os.arch();
console.log(`arch = ${arch}`); //arch = x64
const processArch = process.arch;
console.log(`processArch = ${processArch}`); //processArch = x64
  • 错误码、进程信号等常用的操作系统特定的常量
/**
 * @method os.constants
 * @return 错误码、进程信号等常用的操作系统特定的常量
 * @description 更具体请查看nodejs官方进程信号列表
 * http://nodejs.cn/api/os.html#os_os_constants_1
 */
const osConsSign = os.constants.signals;
console.log(osConsSign);
  • 返回一个对象数组,其中包含有关每个逻辑 CPU 内核的信息
**
 * @method os.cpus()
 * @return 返回一个对象数组,其中包含有关每个逻辑 CPU 内核的信息
 */
const cpu = os.cpus();
console.log(`cpu = ${JSON.stringify(cpu)}`); //[{"model":"Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz","speed":2177,"times".....
  • 返回一个字符串,该字符串标识为其编译 Node.js 二进制文件的 CPU 的字节序
/**
 * @method os.endianness()
 * @return 返回一个字符串,该字符串标识为其编译 Node.js 二进制文件的 CPU 的字节序
 * @description 可能的值有, 'BE' 用于大端字节序, 'LE' 用于小端字节序
 */
const endianness = os.endianness();
console.log(`endianness = ${endianness}`); //LE
  • 以整数的形式返回空闲的系统内存量(以字节为单位)
/**
 * @method os.freemem()
 * @return 以整数的形式返回空闲的系统内存量(以字节为单位)
 */
const freemem = os.freemem();
console.log(`freemem = ${freemem}`); //5685964800
  • 返回由 pid 指定的进程的调度优先级。 如果未提供 pid 或者为 0,则返回当前进程的优先级
/**
 * @method os.getPriority([pid])
 * @return 返回由 pid 指定的进程的调度优先级。 如果未提供 pid 或者为 0,则返回当前进程的优先级
 */
const getPriority = os.getPriority();
console.log(`getPriority = ${getPriority}`);  //0
  • 返回当前用户的主目录的字符串路径
/**
 * @method os.homedir()
 * @return 返回当前用户的主目录的字符串路径。
 * @description 
 * 在 POSIX 上,使用 $HOME 环境变量(如果有定义)。 否则,使用有效的 UID 来查找用户的主目录。
 * 在 Windows 上,使用 USERPROFILE 环境变量(如果有定义)。 否则,使用当前用户的配置文件目录的路径
 */
const homeDIr = os.homedir();
console.log(`homeDIr = ${homeDIr}`); // home/zzw
  • 以字符串的形式返回操作系统的主机名
/**
 * @method os.hostname()
 * @return 以字符串的形式返回操作系统的主机名。
 */
const hostName = os.hostname();
console.log(`hostName = ${hostName}`); //zzw-Lenovo-Yoga-C740-14IML
  • 返回一个数组,包含 1、5 和 15 分钟的平均负载
/**
 * @method os.loadavg()
 * @return 返回一个数组,包含 1、5 和 15 分钟的平均负载
 * @description 
 * 平均负载是系统活动性的测量,由操作系统计算得出,并表现为一个分数
 * 平均负载是 UNIX 特定的概念。 在 Windows 上,其返回值始终为 [0, 0, 0]
 */
const loadavg = os.loadavg();
console.log(`loadavg = ${loadavg}`); //1.83740234375,1.431640625,1.09521484375
  • 返回一个对象,该对象包含已分配了网络地址的网络接口
/**
 * @method os.networkInterfaces()
 * @return 返回一个对象,该对象包含已分配了网络地址的网络接口
 * @description 返回的对象上的每个键都标识了一个网络接口。 关联的值是一个对象数组,每个对象描述了一个分配的网络地址
 */
const networkInterfaces = os.networkInterfaces();
console.log(`networkInterfaces = ${JSON.stringify(networkInterfaces)}`); //{"lo":[{"address":"127.0.0.1","netmask":"255.0.0.0","family":"IPv4","mac":"00:00:00:00:00:00"......

  • 返回标识操作系统平台的字符串
/**
 * @method os.platform()
 * @return 返回标识操作系统平台的字符串
 * @description 可能的值有 'aix'、 'darwin'、 'freebsd'、 'linux'、 'openbsd'、 'sunos' 和 'win32'。返回的值等价于 process.platform
 */
const platform = os.platform();
console.log(`platform = ${platform}`); //linux
  • 以字符串的形式返回操作系统
/**
 * @method os.release()
 * @return 以字符串的形式返回操作系统
 * @description 在 POSIX 系统上,操作系统的发行版是通过调用 uname(3) 判断的。 在 Windows 上, 则使用 GetVersionExW()
 */
const release = os.release();
console.log(`release = ${release}`); //5.4.0-050400rc1-generic
  • 以字符串的形式返回操作系统的默认临时文件目录
/**
 * @method os.tmpdir()
 * @return 以字符串的形式返回操作系统的默认临时文件目录
 */
const tmpdir = os.tmpdir();
console.log(`tmpdir = ${tmpdir}`); ///tmp
  • 以整数的形式返回系统的内存总量(以字节为单位)
/**
 * @method os.totalmem()
 * @return 以整数的形式返回系统的内存总量(以字节为单位)
 */
const totalmem = os.totalmem();
console.log(`totalmem = ${totalmem}`); //16481849344
  • 返回与 uname(3) 返回一样的操作系统名字
/**
 * @method os.type()
 * @return 返回与 uname(3) 返回一样的操作系统名字
 */
const type = os.type();
console.log(`type = ${type}`); //Linux
  • 返回系统的正常运行时间(以秒为单位)
/**
 * @method os.uptime()
 * @return 返回系统的正常运行时间(以秒为单位)
 */
const uptime = os.uptime();
console.log(`uptime = ${uptime}`); //8889
  • 返回关于当前有效用户的信息
/**
 * @method os.userInfo([options])
 * @return 返回关于当前有效用户的信息
 */
const userinfo = os.userInfo();
console.log(`userinfo = ${JSON.stringify(userinfo)}`); //{"uid":1000,"gid":1000,"username":"zzw","homedir":"/home/zzw","shell":"/bin/zsh"}


版权声明:本文为qq_42427109原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。