ОС
Модуль os предоставляет ряд методов, связанных с операционной системой. К нему можно получить доступ, используя:
const os = require('os');
os.EOL
Константа-строка, определяющая маркер конца строки, специфичный для операционной системы:
-
\nна POSIX -
\r\nна Windows
os.arch()
- Возвращает: <строка>
Метод os.arch() возвращает строку, идентифицирующую архитектуру процессора операционной системы, для которой был скомпилирован бинарный файл Node.js.
Возможные текущие значения: 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', и 'x64'.
Эквивалентно process.arch.
os.constants
Возвращает объект, содержащий часто используемые константы, специфичные для операционной системы, для кодов ошибок, сигналов процесса и т. д. Определённые в данный момент константы описаны в Константах ОС.
os.cpus()
- Возвращает: <Массив>
Метод os.cpus() возвращает массив объектов, содержащих информацию о каждом логическом ядре процессора.
Свойства каждого объекта включают:
-
model<строка> -
speed<число> (в МГц) -
times<объект>-
user<число> Количество миллисекунд, потраченных процессором в режиме пользователя. -
nice<число> Количество миллисекунд, потраченных процессором в режиме nice. -
sys<число> Количество миллисекунд, потраченных процессором в режиме sys. -
idle<число> Количество миллисекунд, потраченных процессором в режиме простоя. -
irq<число> Количество миллисекунд, потраченных процессором в режиме irq.
-
Например:
[
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 252020,
nice: 0,
sys: 30340,
idle: 1070356870,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 306960,
nice: 0,
sys: 26980,
idle: 1071569080,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 248450,
nice: 0,
sys: 21750,
idle: 1070919370,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 256880,
nice: 0,
sys: 19430,
idle: 1070905480,
irq: 20
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 511580,
nice: 20,
sys: 40900,
idle: 1070842510,
irq: 0
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 291660,
nice: 0,
sys: 34360,
idle: 1070888000,
irq: 10
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 308260,
nice: 0,
sys: 55410,
idle: 1071129970,
irq: 880
}
},
{
model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times: {
user: 266450,
nice: 1480,
sys: 34920,
idle: 1072572010,
irq: 30
}
}
]
Примечание: Поскольку значения nice специфичны для UNIX, на Windows значения nice для всех процессоров всегда равны 0.
os.endianness()
- Возвращает: <строка>
Метод os.endianness() возвращает строку, идентифицирующую порядок байтов процессора для которого был скомпилирован бинарный файл Node.js.
Возможные значения:
-
'BE'для big endian -
'LE'для little endian.
os.freemem()
- Возвращает: <целое>
Метод os.freemem() возвращает количество свободной оперативной памяти в байтах в виде целого числа.
os.homedir()
- Возвращает: <строка>
Метод os.homedir() возвращает домашний каталог текущего пользователя в виде строки.
os.hostname()
- Возвращает: <строка>
Метод os.hostname() возвращает имя хоста операционной системы в виде строки.
os.loadavg()
- Возвращает: <Массив>
Метод os.loadavg() возвращает массив, содержащий среднее время загрузки за 1, 5 и 15 минут.
Среднее время загрузки — это мера активности системы, рассчитываемая операционной системой и выражаемая в виде дробного числа. Как правило, среднее время загрузки должно быть меньше, чем количество логических процессоров в системе.
Среднее время загрузки — это понятие, специфичное для UNIX, без реального эквивалента на платформах Windows. В Windows возвращаемое значение всегда [0, 0, 0].
os.networkInterfaces()
- Возвращает: <Объект>
Метод os.networkInterfaces() возвращает объект, содержащий только сетевые интерфейсы, которым был назначен сетевой адрес.
Каждый ключ в возвращаемом объекте идентифицирует сетевой интерфейс. Соответствующее значение — массив объектов, каждый из которых описывает назначенный сетевой адрес.
Свойства объекта назначенного сетевого адреса включают:
-
address<строка> Назначенный IPv4 или IPv6 адрес -
netmask<строка> Маска сети IPv4 или IPv6 -
family<строка> ЛибоIPv4илиIPv6 -
mac<строка> MAC-адрес сетевого интерфейса -
internal<логическое>trueесли сетевой интерфейс является петлевым или подобным интерфейсом, который недоступен удалённо; в противном случаеfalse -
scopeid<число> Числовой идентификатор области IPv6 (указан только тогда, когдаfamilyравенIPv6) -
cidr<строка> Назначенный IPv4 или IPv6 адрес с префиксом маршрутизации в нотации CIDR. Если префиксnetmaskнекорректен, это свойство установлено вnull
{
lo: [
{
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',
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()
- Возвращает: <строка>
Метод os.platform() возвращает строку, идентифицирующую платформу операционной системы, установленную во время компиляции Node.js.
Возможные текущие значения:
'aix''darwin''freebsd''linux''openbsd''sunos''win32'
Эквивалентно process.platform.
Примечание: Значение 'android' также может быть возвращено, если Node.js был скомпилирован на операционной системе Android. Однако поддержка Android в Node.js в настоящее время считается экспериментальной.
os.release()
- Возвращает: <строка>
Метод os.release() возвращает строку, идентифицирующую выпуск операционной системы.
Примечание: В системах POSIX выпуск операционной системы определяется путём вызова uname(3). В Windows используется GetVersionExW(). Дополнительную информацию см. в https://en.wikipedia.org/wiki/Uname#Examples.
os.tmpdir()
- Возвращает: <строка>
Метод os.tmpdir() возвращает строку, определяющую стандартную директорию операционной системы для временных файлов.
os.totalmem()
- Возвращает: <целое>
Метод os.totalmem() возвращает общее количество системной памяти в байтах в виде целого числа.
os.type()
- Возвращает: <строка>
Метод os.type() возвращает строку, идентифицирующую имя операционной системы, как возвращается функцией uname(3). Например, 'Linux' в Linux, 'Darwin' в macOS и 'Windows_NT' в Windows.
Дополнительную информацию об выводе выполнения uname(3) в различных операционных системах см. на странице https://en.wikipedia.org/wiki/Uname#Examples.
os.uptime()
- Возвращает: <целое число>
Метод os.uptime() возвращает время активности системы в секундах.
Примечание: В Windows возвращаемое значение включает дробные доли секунды. Используйте Math.floor() для получения целых секунд.
os.userInfo([options])
-
options<Объект>-
encoding<строка> Кодировка символов, используемая для интерпретации результирующих строк. Еслиencodingустановлено в'buffer', значенияusername,shell, иhomedirбудутBufferэкземплярами. По умолчанию:'utf8'.
-
- Возвращает: <Объект>
Метод os.userInfo() возвращает информацию о текущем эффективном пользователе — в POSIX платформах, это обычно подмножество файла паролей. Возвращаемый объект включает username, uid, gid, shell, и homedir. В Windows поля uid и gid являются -1, и shell является null.
Значение homedir возвращаемое os.userInfo(), предоставляется операционной системой. Это отличается от результата os.homedir(), который запрашивает несколько переменных окружения для домашнего каталога, прежде чем обратиться к ответу операционной системы.
Постоянные значения ОС
Следующие константы экспортируются os.constants.
Примечание: Не все константы будут доступны на каждой операционной системе.
Константы сигналов
Следующие константы сигналов экспортируются os.constants.signals:
| Константа | Описание |
|---|---|
SIGHUP | Отправляется, чтобы указать, когда закрывается контролирующий терминал или родительский процесс завершается. |
SIGINT | Отправляется, чтобы указать, когда пользователь хочет прервать процесс ((Ctrl+C)). |
SIGQUIT | Отправляется, чтобы указать, когда пользователь хочет завершить процесс и выполнить дамп ядра. |
SIGILL | Отправляется процессу, чтобы сообщить, что он попытался выполнить незаконную, неправильную, неизвестную или привилегированную инструкцию. |
SIGTRAP | Отправляется процессу, когда произошла исключительная ситуация. |
SIGABRT | Отправляется процессу для запроса прерывания. |
SIGIOT | Синоним для SIGABRT
|
SIGBUS | Отправляется процессу, чтобы уведомить о ошибке шины. |
SIGFPE | Отправляется процессу, чтобы уведомить о неверной арифметической операции. |
SIGKILL | Отправляется процессу, чтобы немедленно завершить его. |
SIGUSR1 SIGUSR2
| Отправляется процессу для идентификации пользовательских условий. |
SIGSEGV | Отправляется процессу, чтобы уведомить об ошибке сегментации. |
SIGPIPE | Отправляется процессу, когда он пытался записать в отключенную трубу. |
SIGALRM | Отправляется процессу, когда истекает системный таймер. |
SIGTERM | Отправляется процессу, чтобы запросить завершение. |
SIGCHLD | Отправляется процессу, когда дочерний процесс завершается. |
SIGSTKFLT | Отправляется процессу, чтобы указать ошибку стека на сопроцессоре. |
SIGCONT | Отправляется, чтобы продолжить приостановленный процесс. |
SIGSTOP | Отправляется, чтобы остановить процесс. |
SIGTSTP | Отправляется процессу, чтобы запросить остановку. |
SIGBREAK | Отправляется, чтобы указать, когда пользователь хочет прервать процесс. |
SIGTTIN | Отправляется процессу, когда он читает из TTY, находясь в фоновом режиме. |
SIGTTOU | Отправляется процессу, когда он записывает в TTY, находясь в фоновом режиме. |
SIGURG | Отправляется процессу, когда сокет имеет срочные данные для чтения. |
SIGXCPU | Отправляется процессу, когда он превысил лимит использования ЦП. |
SIGXFSZ | Отправляется процессу, когда он увеличивает размер файла больше, чем разрешено. |
SIGVTALRM | Отправляется процессу, когда истек виртуальный таймер. |
SIGPROF | Отправляется процессу, когда истек системный таймер. |
SIGWINCH | Отправляется процессу, когда контролирующий терминал изменил свой размер. |
SIGIO | Отправляется процессу, когда доступен ввод-вывод. |
SIGPOLL | Синоним для SIGIO
|
SIGLOST | Отправляется процессу, когда блокировка файла была потеряна. |
SIGPWR | Отправляется процессу, чтобы уведомить о сбое электропитания. |
SIGINFO | Синоним для SIGPWR
|
SIGSYS | Отправляется процессу, чтобы уведомить о плохом аргументе. |
SIGUNUSED | Синоним для SIGSYS
|
Константы ошибок
Следующие константы ошибок экспортируются os.constants.errno:
Константы ошибок POSIX
| Константа | Описание |
|---|---|
E2BIG | Указывает, что список аргументов длиннее ожидаемого. |
EACCES | Указывает, что операции не хватает разрешений. |
EADDRINUSE | Указывает, что сетевой адрес уже используется. |
EADDRNOTAVAIL | Указывает, что сетевой адрес в данный момент недоступен для использования. |
EAFNOSUPPORT | Указывает, что семейство сетевых адресов не поддерживается. |
EAGAIN | Указывает, что в данный момент данных нет, и следует попробовать операцию позже. |
EALREADY | Указывает, что у сокета уже есть ожидающее подключение. |
EBADF | Указывает, что дескриптор файла недействителен. |
EBADMSG | Указывает недействительное сообщение данных. |
EBUSY | Указывает, что устройство или ресурс занят. |
ECANCELED | Указывает, что операция была отменена. |
ECHILD | Указывает, что нет дочерних процессов. |
ECONNABORTED | Указывает, что сетевое подключение было прервано. |
ECONNREFUSED | Указывает, что сетевое подключение было отклонено. |
ECONNRESET | Указывает, что сетевое подключение было сброшено. |
EDEADLK | Указывает, что тупиковая ситуация с ресурсами была предотвращена. |
EDESTADDRREQ | Указывает, что требуется адрес назначения. |
EDOM | Указывает, что аргумент находится вне области определения функции. |
EDQUOT | Указывает, что квота на диск превышена. |
EEXIST | Указывает, что файл уже существует. |
EFAULT | Указывает недействительный адрес указателя. |
EFBIG | Указывает, что файл слишком большой. |
EHOSTUNREACH | Указывает, что хост недоступен. |
EIDRM | Указывает, что идентификатор был удален. |
EILSEQ | Указывает нелегальную последовательность байтов. |
EINPROGRESS | Указывает, что операция уже выполняется. |
EINTR | Указывает, что вызов функции был прерван. |
EINVAL | Указывает, что был предоставлен неверный аргумент. |
EIO | Указывает другую неопределённую ошибку ввода/вывода. |
EISCONN | Указывает, что сокет подключен. |
EISDIR | Указывает, что путь является каталогом. |
ELOOP | Указывает слишком много уровней символических ссылок в пути. |
EMFILE | Указывает, что слишком много файлов открыто. |
EMLINK | Указывает, что слишком много жёстких ссылок на файл. |
EMSGSIZE | Указывает, что предоставленное сообщение слишком длинное. |
EMULTIHOP | Указывает, что была попытка многоходового соединения. |
ENAMETOOLONG | Указывает, что имя файла слишком длинное. |
ENETDOWN | Указывает, что сеть отключена. |
ENETRESET | Указывает, что подключение было прервано сетью. |
ENETUNREACH | Указывает, что сеть недоступна. |
ENFILE | Указывает, что слишком много файлов открыто в системе. |
ENOBUFS | Указывает, что нет доступного буферного пространства. |
ENODATA | Указывает, что нет сообщений в очереди чтения головки потока. |
ENODEV | Указывает, что такого устройства нет. |
ENOENT | Указывает, что такого файла или каталога нет. |
ENOEXEC | Указывает ошибку формата exec. |
ENOLCK | Указывает, что нет доступных блокировок. |
ENOLINK | Указывает, что соединение разорвано. |
ENOMEM | Указывает, что не хватает места. |
ENOMSG | Указывает, что нет сообщения нужного типа. |
ENOPROTOOPT | Указывает, что данный протокол недоступен. |
ENOSPC | Указывает, что нет места на устройстве. |
ENOSR | Указывает, что нет доступных ресурсов потока. |
ENOSTR | Указывает, что данный ресурс не является потоком. |
ENOSYS | Указывает, что функция не реализована. |
ENOTCONN | Указывает, что сокет не подключен. |
ENOTDIR | Указывает, что путь не является каталогом. |
ENOTEMPTY | Указывает, что каталог не пуст. |
ENOTSOCK | Указывает, что данный элемент не является сокетом. |
ENOTSUP | Указывает, что данная операция не поддерживается. |
ENOTTY | Указывает неподходящую операцию управления вводом/выводом. |
ENXIO | Указывает, что такого устройства или адреса нет. |
EOPNOTSUPP | Указывает, что операция не поддерживается для сокета. Обратите внимание, что, хотя ENOTSUP и EOPNOTSUPP имеют одинаковое значение в Linux, согласно POSIX.1 эти значения ошибок должны быть различными. |
EOVERFLOW | Указывает, что значение слишком велико для хранения в данном типе данных. |
EPERM | Указывает, что операция запрещена. |
EPIPE | Указывает разрыв трубы. |
EPROTO | Указывает ошибку протокола. |
EPROTONOSUPPORT | Указывает, что протокол не поддерживается. |
EPROTOTYPE | Указывает неверный тип протокола для сокета. |
ERANGE | Указывает, что результаты слишком большие. |
EROFS | Указывает, что файловая система только для чтения. |
ESPIPE | Указывает неверную операцию поиска. |
ESRCH | Указывает, что такого процесса нет. |
ESTALE | Указывает, что дескриптор файла устарел. |
ETIME | Указывает истечение таймера. |
ETIMEDOUT | Указывает, что соединение истекло. |
ETXTBSY | Указывает, что текстовый файл занят. |
EWOULDBLOCK | Указывает, что операция заблокирует выполнение. |
EXDEV | Указывает неправильную ссылку. |
Константы ошибок, специфичные для Windows
Следующие коды ошибок специфичны для операционной системы Windows:
| Постоянная | Описание |
|---|---|
WSAEINTR | Указывает на прерванный вызов функции. |
WSAEBADF | Указывает на недопустимый дескриптор файла. |
WSAEACCES | Указывает на недостаточные права для выполнения операции. |
WSAEFAULT | Указывает на недопустимый адрес указателя. |
WSAEINVAL | Указывает на то, что был передан недопустимый аргумент. |
WSAEMFILE | Указывает на то, что слишком много файлов открыто. |
WSAEWOULDBLOCK | Указывает на то, что ресурс временно недоступен. |
WSAEINPROGRESS | Указывает на то, что операция в настоящее время выполняется. |
WSAEALREADY | Указывает на то, что операция уже выполняется. |
WSAENOTSOCK | Указывает на то, что ресурс не является сокетом. |
WSAEDESTADDRREQ | Указывает на то, что требуется адрес назначения. |
WSAEMSGSIZE | Указывает на то, что размер сообщения слишком большой. |
WSAEPROTOTYPE | Указывает на неверный тип протокола для сокета. |
WSAENOPROTOOPT | Указывает на неверный параметр протокола. |
WSAEPROTONOSUPPORT | Указывает на то, что протокол не поддерживается. |
WSAESOCKTNOSUPPORT | Указывает на то, что тип сокета не поддерживается. |
WSAEOPNOTSUPP | Указывает на то, что операция не поддерживается. |
WSAEPFNOSUPPORT | Указывает на то, что семейство протоколов не поддерживается. |
WSAEAFNOSUPPORT | Указывает на то, что семейство адресов не поддерживается. |
WSAEADDRINUSE | Указывает на то, что сетевой адрес уже используется. |
WSAEADDRNOTAVAIL | Указывает на то, что сетевой адрес недоступен. |
WSAENETDOWN | Указывает на то, что сеть отключена. |
WSAENETUNREACH | Указывает на то, что сеть недоступна. |
WSAENETRESET | Указывает на то, что сетевое соединение было сброшено. |
WSAECONNABORTED | Указывает на то, что соединение было прервано. |
WSAECONNRESET | Указывает на то, что соединение было сброшено удалённым узлом. |
WSAENOBUFS | Указывает на то, что доступно недостаточно буферной памяти. |
WSAEISCONN | Указывает на то, что сокет уже подключен. |
WSAENOTCONN | Указывает на то, что сокет не подключен. |
WSAESHUTDOWN | Указывает на то, что данные не могут быть отправлены после закрытия сокета. |
WSAETOOMANYREFS | Указывает на то, что слишком много ссылок. |
WSAETIMEDOUT | Указывает на то, что соединение истекло по таймауту. |
WSAECONNREFUSED | Указывает на то, что соединение было отклонено. |
WSAELOOP | Указывает на то, что имя не может быть переведено. |
WSAENAMETOOLONG | Указывает на то, что имя было слишком длинным. |
WSAEHOSTDOWN | Указывает на то, что сетевой хост недоступен. |
WSAEHOSTUNREACH | Указывает на то, что маршрута к сетевому хосту нет. |
WSAENOTEMPTY | Указывает на то, что каталог не пуст. |
WSAEPROCLIM | Указывает на то, что слишком много процессов. |
WSAEUSERS | Указывает на то, что квота пользователя превышена. |
WSAEDQUOT | Указывает на то, что квота диска превышена. |
WSAESTALE | Указывает на устаревшую ссылку на дескриптор файла. |
WSAEREMOTE | Указывает на то, что элемент удалённый. |
WSASYSNOTREADY | Указывает на то, что сетевой подсистема не готова. |
WSAVERNOTSUPPORTED | Указывает на то, что версия winsock.dll находится вне допустимого диапазона. |
WSANOTINITIALISED | Указывает на то, что успешная инициализация WSAStartup ещё не выполнена. |
WSAEDISCON | Указывает на то, что выполняется плавное завершение работы. |
WSAENOMORE | Указывает на то, что больше результатов нет. |
WSAECANCELLED | Указывает на то, что операция была отменена. |
WSAEINVALIDPROCTABLE | Указывает на то, что таблица вызовов процедур неверна. |
WSAEINVALIDPROVIDER | Указывает на неверного поставщика услуг. |
WSAEPROVIDERFAILEDINIT | Указывает на то, что поставщик услуг не смог завершить инициализацию. |
WSASYSCALLFAILURE | Указывает на ошибку системного вызова. |
WSASERVICE_NOT_FOUND | Указывает на то, что служба не найдена. |
WSATYPE_NOT_FOUND | Указывает на то, что тип класса не найден. |
WSA_E_NO_MORE | Указывает на то, что больше результатов нет. |
WSA_E_CANCELLED | Указывает на то, что вызов был отменён. |
WSAEREFUSED | Указывает на то, что запрос к базе данных был отклонен. |
Постоянные libuv
| Постоянная | Описание |
|---|---|
UV_UDP_REUSEADDR |
© Joyent, Inc. and other Node contributors
Licensed under the MIT License.
Node.js is a trademark of Joyent, Inc. and is used with its permission.
We are not endorsed by or affiliated with Joyent.
https://nodejs.org/dist/latest-v8.x/docs/api/os.html