最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js API詳解之 os模塊用法實(shí)例分析

 更新時(shí)間:2020年05月06日 08:47:12   作者:李小強(qiáng)  
這篇文章主要介紹了Node.js API詳解之 os模塊用法,結(jié)合實(shí)例形式分析了Node.js API中os模塊基本功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Node.js API詳解之 os模塊用法。分享給大家供大家參考,具體如下:

os是Node的一個(gè)基礎(chǔ)模塊,提供了一些操作系統(tǒng)相關(guān)的屬性接口。

通過(guò) const os = require('os'); 的方式引用os模塊,我們接著看下os都有哪些功能

說(shuō)明:

一個(gè)字符串常量,定義操作系統(tǒng)相關(guān)的行末標(biāo)志:POSIX 系統(tǒng)上值為\n,Windows下的值為\r\n

demo:

console.log('abc'+ os.EOL +'123');
//abc
//123

os.arch()

說(shuō)明:

該方法返回一個(gè)字符串,來(lái)說(shuō)明當(dāng)前運(yùn)行環(huán)境的CPU架構(gòu),
可能的值有: 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', 'x64', 和 'x86'

demo:

console.log(os.arch());
//x64

os.constants

說(shuō)明:

此常量是一個(gè)包含錯(cuò)誤碼,處理信號(hào)等系統(tǒng)常量的對(duì)象。具體描述可以查看:OS 常量

demo:

console.log(os.constants);
// { UV_UDP_REUSEADDR: 4,   //libuv 常量
//  errno:
//  { E2BIG: 7,
//   EACCES: 13,
//   EADDRINUSE: 48,
//   EADDRNOTAVAIL: 49,
//   EAFNOSUPPORT: 47,
//   EAGAIN: 35,
//   EALREADY: 37,
//   EBADF: 9,
//   EBADMSG: 94,
//   EBUSY: 16,
//   ECANCELED: 89,
//   ECHILD: 10,
//   ECONNABORTED: 53,
//   ECONNREFUSED: 61,
//   ECONNRESET: 54,
//   EDEADLK: 11,
//   EDESTADDRREQ: 39,
//   EDOM: 33,
//   EDQUOT: 69,
//   EEXIST: 17,
//   EFAULT: 14,
//   EFBIG: 27,
//   EHOSTUNREACH: 65,
//   EIDRM: 90,
//   EILSEQ: 92,
//   EINPROGRESS: 36,
//   EINTR: 4,
//   EINVAL: 22,
//   EIO: 5,
//   EISCONN: 56,
//   EISDIR: 21,
//   ELOOP: 62,
//   EMFILE: 24,
//   EMLINK: 31,
//   EMSGSIZE: 40,
//   EMULTIHOP: 95,
//   ENAMETOOLONG: 63,
//   ENETDOWN: 50,
//   ENETRESET: 52,
//   ENETUNREACH: 51,
//   ENFILE: 23,
//   ENOBUFS: 55,
//   ENODATA: 96,
//   ENODEV: 19,
//   ENOENT: 2,
//   ENOEXEC: 8,
//   ENOLCK: 77,
//   ENOLINK: 97,
//   ENOMEM: 12,
//   ENOMSG: 91,
//   ENOPROTOOPT: 42,
//   ENOSPC: 28,
//   ENOSR: 98,
//   ENOSTR: 99,
//   ENOSYS: 78,
//   ENOTCONN: 57,
//   ENOTDIR: 20,
//   ENOTEMPTY: 66,
//   ENOTSOCK: 38,
//   ENOTSUP: 45,
//   ENOTTY: 25,
//   ENXIO: 6,
//   EOPNOTSUPP: 102,
//   EOVERFLOW: 84,
//   EPERM: 1,
//   EPIPE: 32,
//   EPROTO: 100,
//   EPROTONOSUPPORT: 43,
//   EPROTOTYPE: 41,
//   ERANGE: 34,
//   EROFS: 30,
//   ESPIPE: 29,
//   ESRCH: 3,
//   ESTALE: 70,
//   ETIME: 101,
//   ETIMEDOUT: 60,
//   ETXTBSY: 26,
//   EWOULDBLOCK: 35,
//   EXDEV: 18 },
//  signals:
//  { SIGHUP: 1,
//   SIGINT: 2,
//   SIGQUIT: 3,
//   SIGILL: 4,
//   SIGTRAP: 5,
//   SIGABRT: 6,
//   SIGIOT: 6,
//   SIGBUS: 10,
//   SIGFPE: 8,
//   SIGKILL: 9,
//   SIGUSR1: 30,
//   SIGSEGV: 11,
//   SIGUSR2: 31,
//   SIGPIPE: 13,
//   SIGALRM: 14,
//   SIGTERM: 15,
//   SIGCHLD: 20,
//   SIGCONT: 19,
//   SIGSTOP: 17,
//   SIGTSTP: 18,
//   SIGTTIN: 21,
//   SIGTTOU: 22,
//   SIGURG: 16,
//   SIGXCPU: 24,
//   SIGXFSZ: 25,
//   SIGVTALRM: 26,
//   SIGPROF: 27,
//   SIGWINCH: 28,
//   SIGIO: 23,
//   SIGINFO: 29,
//   SIGSYS: 12 
//  } 
// }

os.cpus()

說(shuō)明:

該方法返回一個(gè)對(duì)象數(shù)組, 包含每個(gè)邏輯 CPU 內(nèi)核的信息。

demo:

console.log(os.cpus());
// [ { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { 
//   user: 96756760, //CPU花費(fèi)在用戶模式下的毫秒時(shí)間數(shù)
//   nice: 0,  //CPU花費(fèi)在良好模式下的毫秒時(shí)間數(shù)
//   sys: 80507720, //CPU花費(fèi)在系統(tǒng)模式下的毫秒時(shí)間數(shù)
//   idle: 606147830, //CPU花費(fèi)在空閑模式下的毫秒時(shí)間數(shù)
//   irq: 0  //CPU花費(fèi)在中斷請(qǐng)求模式下的毫秒時(shí)間數(shù)
//   } 
//  },
//  { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { user: 43796970, nice: 0, sys: 37796280, idle: 701811920, irq: 0 } 
//  },
//  { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { user: 94060830, nice: 0, sys: 68641950, idle: 620702410, irq: 0 } 
//  },
//  { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { user: 45641410, nice: 0, sys: 39136540, idle: 698627210, irq: 0 } 
//  } ]

os.endianness()

說(shuō)明:

該方法返回一個(gè)字符串,表明Node.js二進(jìn)制編譯環(huán)境的字節(jié)順序,可能的值為:'BE'(Big-Endian) 大端模式,'LE'(Little-Endian) 小端模式
大端模式:是指數(shù)據(jù)的高字節(jié)保存在內(nèi)存的低地址中,數(shù)據(jù)的低字節(jié)保存在內(nèi)存的高地址中。
小端模式:是指數(shù)據(jù)的高字節(jié)保存在內(nèi)存的高地址中,數(shù)據(jù)的低字節(jié)保存在內(nèi)存的低地址中。
以 0x12345678 為例:

demo:

console.log(os.endianness());
//LE

os.freemem()

說(shuō)明:

該方法以整數(shù)的形式返回空閑系統(tǒng)內(nèi)存的字節(jié)數(shù)

demo:

console.log(os.freemem());
//7155720192 

os.homedir()

說(shuō)明:

該方法以字符串的形式返回當(dāng)前用戶的home目錄

demo:

console.log(os.homedir());
// /Users/xiaoqiang

os.hostname()

說(shuō)明:

該方法以字符串的形式返回操作系統(tǒng)的主機(jī)名

demo:

console.log(os.hostname());
//xiaoqiangMacBook-Pro.local

os.loadavg()

說(shuō)明:

該方法返回一個(gè)數(shù)組,包含1, 5, 15分鐘平均負(fù)載.

demo:

console.log(os.loadavg());
//[ 2.57080078125, 2.38037109375, 2.30908203125 ] windows下返回[0, 0, 0]

os.networkInterfaces()

說(shuō)明:

該方法返回一個(gè)對(duì)象,包含被賦予網(wǎng)絡(luò)地址的網(wǎng)絡(luò)接口.

demo:

console.log(os.networkInterfaces());
// {
//  lo: [
//   {
//    address: '127.0.0.1', //被賦予的 IPv4 或 IPv6 地址
//    netmask: '255.0.0.0', //IPv4 或 IPv6 子網(wǎng)掩碼
//    family: 'IPv4', //IPv4 或 IPv6
//    mac: '00:00:00:00:00:00', //網(wǎng)絡(luò)接口的MAC地址
//    internal: true, //如果 網(wǎng)絡(luò)接口是loopback或相似的遠(yuǎn)程不能用的接口時(shí), 值為true,否則為false
//    cidr: '127.0.0.1/8' //以 CIDR 表示法分配的帶有路由前綴的 IPv4 或 IPv6 地址。如果 netmask 參數(shù)不可用,則該屬性是 null
//   },
//   {
//    address: '::1',
//    netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
//    family: 'IPv6',
//    mac: '00:00:00:00:00:00',
//    internal: true,
//    cidr: '::1/128'
//   }
//  ],
//  eth0: [
//   {
//    address: '192.168.1.108',
//    netmask: '255.255.255.0',
//    family: 'IPv4',
//    mac: '01:02:03:0a:0b:0c',
//    internal: false,
//    cidr: '192.168.1.108/24'
//   },
//   {
//    address: 'fe80::a00:27ff:fe4e:66a1',
//    netmask: 'ffff:ffff:ffff:ffff::',
//    family: 'IPv6',
//    mac: '01:02:03:0a:0b:0c',
//    internal: false,
//    cidr: 'fe80::a00:27ff:fe4e:66a1/64'
//   }
//  ]
// }

os.platform()

說(shuō)明:

該方法返回Node.js編譯時(shí)的操作系統(tǒng)平臺(tái),值可能為:'aix','darwin','freebsd','linux','openbsd','sunos','win32′

demo:

console.log(os.platform());
// darwin

os.release()

說(shuō)明:

該方法返回一個(gè)字符串, 指定操作系統(tǒng)的發(fā)行版.

demo:

console.log(os.release());
// 17.2.0

os.tmpdir()

說(shuō)明:

該方法返回一個(gè)字符串, 指定操作系統(tǒng)的發(fā)行版.

demo:

console.log(os.tmpdir());
// /var/folders/xv/4dbb00000gn/T

os.totalmem()

說(shuō)明:

該方法以整數(shù)的形式返回所有系統(tǒng)內(nèi)存的字節(jié)數(shù).

demo:

console.log(os.totalmem());
//17179869184

os.type()

說(shuō)明:

該方法返回一個(gè)字符串,表明操作系統(tǒng)的名字

demo:

console.log(os.type());
// Darwin

os.uptime()

說(shuō)明:

該方法在幾秒內(nèi)返回操作系統(tǒng)的上線時(shí)間

demo:

console.log(os.uptime());
// 1293306

os.userInfo([options])

說(shuō)明:

該方法用來(lái)獲取當(dāng)前有效用戶的信息
該方法傳遞一個(gè)encoding參數(shù),用來(lái)指定返回值的編碼方式,默認(rèn)utf8,也可以設(shè)置為:buffer。

demo:

console.log(os.userInfo());
// { 
//  uid: 501,
//  gid: 20,
//  username: 'xiaoqiang',
//  homedir: '/Users/xiaoqiang',
//  shell: '/bin/bash' 
// }
 
console.log(os.userInfo({encoding: 'buffer'}));
// { 
//  uid: 501,
//  gid: 20,
//  username: ,
//  homedir: ,
//  shell: 
// }

希望本文所述對(duì)大家node.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Node.js包管理工具(npm、yarn、cnpm)

    Node.js包管理工具(npm、yarn、cnpm)

    本文主要介紹了Node.js包管理工具,包含npm、yarn、cnpm者三種,借助包管理工具,可以快速開發(fā)項(xiàng)目,提升開發(fā)效率,下面就來(lái)具體介紹一下如何使用,感興趣的可以了解一下
    2024-08-08
  • Node.js爬蟲如何獲取天氣和每日問(wèn)候詳解

    Node.js爬蟲如何獲取天氣和每日問(wèn)候詳解

    這篇文章主要給大家介紹了關(guān)于Node.js爬蟲如何獲取天氣和每日問(wèn)候的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Node.js爬蟲具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Node.js?源碼閱讀深入理解cjs模塊系統(tǒng)

    Node.js?源碼閱讀深入理解cjs模塊系統(tǒng)

    這篇文章主要為大家介紹了Node.js?源碼閱讀深入理解cjs模塊系統(tǒng),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • node puppeteer(headless chrome)實(shí)現(xiàn)網(wǎng)站登錄

    node puppeteer(headless chrome)實(shí)現(xiàn)網(wǎng)站登錄

    這篇文章主要介紹了node puppeteer(headless chrome)實(shí)現(xiàn)網(wǎng)站登錄,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 教你快速搭建Node.Js服務(wù)器的方法教程

    教你快速搭建Node.Js服務(wù)器的方法教程

    Node.js是一套用來(lái)編寫高性能網(wǎng)絡(luò)服務(wù)器的JavaScript工具包,一系列的變化由此開始。這篇文章主要給大家介紹了如何快速搭建Node.Js服務(wù)器的方法教程,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友下面來(lái)一起看看吧。
    2017-03-03
  • Node.js實(shí)現(xiàn)修改文件字符集功能的具體過(guò)程

    Node.js實(shí)現(xiàn)修改文件字符集功能的具體過(guò)程

    在日常生活、工作中,我們經(jīng)常會(huì)遇到需要處理不同編碼格式的文件,有時(shí),在嘗試打開這些文件時(shí)會(huì)遇到亂碼,原因通常是文件的編碼與我們使用的文本編輯器或編程語(yǔ)言的默認(rèn)編碼不匹配,這篇文章將介紹Node.js修改文件字符集的實(shí)現(xiàn)思路和具體實(shí)現(xiàn)過(guò)程
    2024-08-08
  • Nodejs實(shí)戰(zhàn)心得之eventproxy模塊控制并發(fā)

    Nodejs實(shí)戰(zhàn)心得之eventproxy模塊控制并發(fā)

    本篇文章給大家分享我的nodejs實(shí)戰(zhàn)心得,如何使用eventproxy模塊控制并發(fā),感興趣的朋友可以參考下
    2015-10-10
  • Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法

    Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法

    這篇文章主要給大家介紹了在Node.js環(huán)境下Koa2添加travis ci持續(xù)集成工具的方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06
  • 關(guān)于在mongoose中填充外鍵的方法詳解

    關(guān)于在mongoose中填充外鍵的方法詳解

    在學(xué)習(xí)非關(guān)系型數(shù)據(jù)庫(kù)mongoDB,希望能夠完成數(shù)據(jù)庫(kù)的CRUD,采用的是JS做的后臺(tái),因此用到了mongoose,下面這篇文章主要給大家介紹了關(guān)于在mongoose中填充外鍵的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-08-08
  • Express框架搭建項(xiàng)目的實(shí)現(xiàn)步驟

    Express框架搭建項(xiàng)目的實(shí)現(xiàn)步驟

    Express是一個(gè)基于Node.js平臺(tái)的輕量級(jí)Web應(yīng)用框架,它提供了簡(jiǎn)潔的API和豐富的功能,本文主要介紹了Express框架搭建項(xiàng)目的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2024-06-06

最新評(píng)論

磐石市| 七台河市| 海丰县| 桂阳县| 玉门市| 乌审旗| 忻州市| 礼泉县| 承德县| 武川县| 洛川县| 株洲市| 莒南县| 商都县| 琼结县| 思南县| 云林县| 琼海市| 淳安县| 西乌珠穆沁旗| 桃园市| 奉新县| 南京市| 昌宁县| 琼海市| 大城县| 平和县| 张家口市| 宜州市| 新宾| 兴文县| 霍林郭勒市| 铁岭市| 长泰县| 夏邑县| 马龙县| 友谊县| 淮安市| 桐城市| 衢州市| 建瓯市|