Модуль OS в Node
Модуль OS предоставляет полезные функции для взаимодействия с операционной системой в Node.js
Этот модуль предоставляет множество функций, которые можно использовать для извлечения информации из вашей операционной системы и компьютера, на котором работает программа, и взаимодействовать с ним.
const os = require('os')
Есть несколько полезных свойств, которые расскажут нам о некоторых ключевых моментах, связанных с обработкой файлов:
os.EOL дает последовательность разделителей строк. Это \n на Linux и macOS и \r\n на Windows.
Когда я говорю Linux и macOS, я имею в виду платформы POSIX. Для простоты я исключаю другие менее популярные операционные системы.
os.constants.signals показывает нам все константы, связанные с сигналами обработки процесса, такими как SIGHUP, SIGKILL и так далее.
os.constants.errno устанавливает константы для сообщений об ошибках, таких как EADDRINUSE, EOVERFLOW и другие.
Вы можете почитать о них подробней на https://nodejs.org/api/os.html#os_signal_constants.
Давайте теперь рассмотрим основные методы, которые предоставляет модуль os:
- OS.ARCH()
Вернет строку, которая идентифицирует базовую архитектуру операционной системы, например arm, x64, arm64. - OS.CPUS()
Возвращает информацию о доступных в вашей системе процессорах.
Пример:[ { model: 'Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz', speed: 2400, times: { user: 281685380, nice: 0, sys: 187986530, idle: 685833750, irq: 0 } }, { model: 'Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz', speed: 2400, times: { user: 282348700, nice: 0, sys: 161800480, idle: 703509470, irq: 0 } } ]
- OS.ENDIANNESS()
Вернет BE или LE в зависимости от того, был ли узел скомбинирован с Big Endian или Little Endian. - OS.FREEMEM()
Возвращает количество байтов, представляющих свободную память в системе. - OS.HOMEDIR()
Вернет путь к домашнему каталогу текущего пользователя.
Пример:'/Users/flavio'
- OS.HOSTNAME()
Вернет имя хоста. - OS.LOADAVG()
Вернет расчет, сделанный операционной системой в среднем по загрузке.
Он возвращает только значимую ценность для Linux и macOS.
Пример:[ 3.68798828125, 4.00244140625, 11.1181640625 ]
- OS.NETWORKINTERFACES()
Возвращает сведения о сетевых интерфейсах, доступных в вашей системе.
Пример:{ lo0: [ { address: '127.0.0.1', netmask: '255.0.0.0', family: 'IPv4', mac: 'fe:82:00:00:00:00', internal: true }, { address: '::1', netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', family: 'IPv6', mac: 'fe:82:00:00:00:00', scopeid: 0, internal: true }, { address: 'fe80::1', netmask: 'ffff:ffff:ffff:ffff::', family: 'IPv6', mac: 'fe:82:00:00:00:00', scopeid: 1, internal: true } ], en1: [ { address: 'fe82::9b:8282:d7e6:496e', netmask: 'ffff:ffff:ffff:ffff::', family: 'IPv6', mac: '06:00:00:02:0e:00', scopeid: 5, internal: false }, { address: '192.168.1.38', netmask: '255.255.255.0', family: 'IPv4', mac: '06:00:00:02:0e:00', internal: false } ], utun0: [ { address: 'fe80::2513:72bc:f405:61d0', netmask: 'ffff:ffff:ffff:ffff::', family: 'IPv6', mac: 'fe:80:00:20:00:00', scopeid: 8, internal: false } ] }
- OS.PLATFORM()
Возвращает платформу, с которой был скомпилирован узел:darwin
freebsd
linux
openbsd
win32
- …итд
- OS.RELEASE()
Возвращает строку, которая идентифицирует номер выпуска операционной системы - OS.TMPDIR()
Возвращает путь к назначенной папке temp. - OS.TOTALMEM()
Возвращает количество байтов, которые представляют общую память, доступную в системе. - OS.TYPE()
Определяет операционную систему:Linux
Darwin
в macOSWindows_NT
в Windows
- OS.UPTIME()
Возвращает количество секунд, в течение которых компьютер был запущен с момента последней перезагрузки компьютера. - OS.USERINFO()