ОС
Модуль 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)
{
lo: [
{
address: '127.0.0.1',
netmask: '255.0.0.0',
family: 'IPv4',
mac: '00:00:00:00:00:00',
internal: true
},
{
address: '::1',
netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
family: 'IPv6',
mac: '00:00:00:00:00:00',
internal: true
}
],
eth0: [
{
address: '192.168.1.108',
netmask: '255.255.255.0',
family: 'IPv4',
mac: '01:02:03:0a:0b:0c',
internal: false
},
{
address: 'fe80::a00:27ff:fe4e:66a1',
netmask: 'ffff:ffff:ffff:ffff::',
family: 'IPv6',
mac: '01:02:03:0a:0b:0c',
internal: false
}
]
}
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.
См. https://ru.wikipedia.org/wiki/Uname#Примеры для дополнительной информации об выводе команды uname(3) на различных операционных системах.
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 Specific Error Constants
Следующие коды ошибок специфичны для операционной системы 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 Constants
| Постоянная | Описание |
|---|---|
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-v6.x/docs/api/os.html