操作系统

该模块提供了一些和操作系统有关的辅助函数,使用 require('os') 可以加载该模块。

os.EOL

常量,返回当前操作系统的换行符。

os.arch()

返回当前操作系统的 CPU 架构,常见值包括:x64 / armia32,实际上该值引用的是 process.arch

os.cpus()

返回一个对象数组,每一个对象描述一个 CPU 的数据:

下面是一个 os.cpus() 的返回信息:型号,速度和使用时间。

  1. [ { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  2. speed: 2926,
  3. times:
  4. { user: 252020,
  5. nice: 0,
  6. sys: 30340,
  7. idle: 1070356870,
  8. irq: 0 } },
  9. { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  10. speed: 2926,
  11. times:
  12. { user: 306960,
  13. nice: 0,
  14. sys: 26980,
  15. idle: 1071569080,
  16. irq: 0 } },
  17. { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  18. speed: 2926,
  19. times:
  20. { user: 248450,
  21. nice: 0,
  22. sys: 21750,
  23. idle: 1070919370,
  24. irq: 0 } },
  25. { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  26. speed: 2926,
  27. times:
  28. { user: 256880,
  29. nice: 0,
  30. sys: 19430,
  31. idle: 1070905480,
  32. irq: 20 } },
  33. { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  34. speed: 2926,
  35. times:
  36. { user: 511580,
  37. nice: 20,
  38. sys: 40900,
  39. idle: 1070842510,
  40. irq: 0 } },
  41. { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  42. speed: 2926,
  43. times:
  44. { user: 291660,
  45. nice: 0,
  46. sys: 34360,
  47. idle: 1070888000,
  48. irq: 10 } },
  49. { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  50. speed: 2926,
  51. times:
  52. { user: 308260,
  53. nice: 0,
  54. sys: 55410,
  55. idle: 1071129970,
  56. irq: 880 } },
  57. { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
  58. speed: 2926,
  59. times:
  60. { user: 266450,
  61. nice: 1480,
  62. sys: 34920,
  63. idle: 1072572010,
  64. irq: 30 } } ]

注意,其中 nice 的值只对 UNIX 有效,在 Windows 中该值为 0。

os.endianness()

返回 CPU 的字节序,如果是大端字节序,返回 BE,如果是小端字节序,则返回 LE

os.freemem()

返回系统空闲内存的大小,单位是字节。

os.homedir()

返回当前用户的根目录。

os.hostname()

返回当前操作系统的主机名。

os.loadavg()

返回一个数组,包含 1,5 和 15 分钟内的负载均衡信息。负载均衡在一定程度上反映了操作系统的活动情况,它的值有操作系统计算得出,通常数值较小。一般来说,负载均衡都会比操作系统中的 CPU 数量小。

负载均衡的概念仅存在于 UNIX 系统中,在 Windows 平台中,该值为 [0, 0, 0]

os.networkInterfaces()

返回网络接口的列表:

  1. { lo:
  2. [ { address: '127.0.0.1',
  3. netmask: '255.0.0.0',
  4. family: 'IPv4',
  5. mac: '00:00:00:00:00:00',
  6. internal: true },
  7. { address: '::1',
  8. netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
  9. family: 'IPv6',
  10. mac: '00:00:00:00:00:00',
  11. internal: true } ],
  12. eth0:
  13. [ { address: '192.168.1.108',
  14. netmask: '255.255.255.0',
  15. family: 'IPv4',
  16. mac: '01:02:03:0a:0b:0c',
  17. internal: false },
  18. { address: 'fe80::a00:27ff:fe4e:66a1',
  19. netmask: 'ffff:ffff:ffff:ffff::',
  20. family: 'IPv6',
  21. mac: '01:02:03:0a:0b:0c',
  22. internal: false } ] }

注意,由于底层实现的原因,该方法只会返回已分配地址的网络接口。

os.platform()

放回操作系统平台,常见值包括:darwin / freebsd / linux / sunoswin32,实际上该值引用的是 process.platform()

os.release()

返回操作系统的分发版本号。

os.tmpdir()

返回操作系统默认的临时文件夹。

os.totalmem()

返回操作系统内存空间的大小,单位是字节。

os.type()

返回操作系统的名称,比如 Linux 的名称是 Linux,OS X 的名称是 Darwin,Windows 的名称是 Windows_NT

os.uptime()

返回操作系统的运行时间,单位是秒。