Операционная система¶
Стабильность: 2 – Стабильная
АПИ является удовлетворительным. Совместимость с NPM имеет высший приоритет и не будет нарушена кроме случаев явной необходимости.
Модуль node:os
предоставляет методы и свойства утилит, связанных с операционной системой. Доступ к нему можно получить с помощью:
1 |
|
os.EOL
¶
Маркер конца строки, специфичный для операционной системы.
\n
на POSIX\r\n
в Windows
os.availableParallelism()
¶
- Возвращает:
<integer>
Возвращает оценку количества параллелизма по умолчанию, которое программа должна использовать. Всегда возвращает значение больше нуля.
Эта функция является небольшой оберткой для функции libuv uv_available_parallelism()
.
os.arch()
¶
- Возвращает:
<string>
Возвращает архитектуру процессора операционной системы, для которой был скомпилирован двоичный файл Node.js. Возможные значения: 'arm'
, 'arm64'
, 'ia32'
, 'mips'
, 'mipsel'
, 'ppc'
, 'ppc64'
, 's390'
, 's390x'
, и 'x64'
.
Возвращаемое значение эквивалентно process.arch
.
os.constants
¶
Содержит часто используемые константы, специфичные для операционной системы, для кодов ошибок, сигналов процесса и так далее. Определенные константы описаны в OS constants.
os.cpus()
¶
- Возвращает: {Object[]}
Возвращает массив объектов, содержащих информацию о каждом логическом ядре процессора.
Свойства, включенные в каждый объект, включают:
модель
<string>
скорость
<number>
(в МГц)times
<Object>
user
<number>
Количество миллисекунд, проведенных процессором в пользовательском режиме.nice
<number>
Количество миллисекунд, проведенных процессором в приятном режиме.sys
<number>
Количество миллисекунд, проведенных процессором в режиме sys.idle
<number>
Количество миллисекунд, проведенных процессором в режиме простоя.irq
<number>
Количество миллисекунд, проведенных процессором в режиме irq.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
Значения nice
относятся только к POSIX. В Windows значения nice
для всех процессоров всегда равны 0.
os.cpus().length
не следует использовать для вычисления количества параллелизма, доступного приложению. Для этой цели используйте os.availableParallelism()
.
os.devNull
¶
Путь к файлу нулевого устройства в зависимости от платформы.
\.\nul
в Windows/dev/null
на POSIX
os.endianness()
¶
- Возвращает:
<string>
Возвращает строку, определяющую эндианальность процессора, для которого был скомпилирован двоичный файл Node.js.
Возможные значения: 'BE'
для big endian и 'LE'
для little endian.
os.freemem()
¶
- Возвращает:
<integer>
Возвращает количество свободной системной памяти в байтах в виде целого числа.
os.getPriority([pid])
¶
pid
<integer>
Идентификатор процесса для получения приоритета планирования. По умолчанию:0
.- Возвращает:
<integer>
Возвращает приоритет планирования для процесса, указанного pid
. Если pid
не указан или равен 0
, возвращается приоритет текущего процесса.
os.homedir()
¶
- Возвращает:
<string>
Возвращает строковый путь к домашнему каталогу текущего пользователя.
На POSIX используется переменная окружения $HOME
, если она определена. В противном случае используется эффективный UID для поиска домашнего каталога пользователя.
В Windows используется переменная окружения USERPROFILE
, если она определена. В противном случае используется путь к каталогу профиля текущего пользователя.
os.hostname()
¶
- Возвращает:
<string>
Возвращает имя хоста операционной системы в виде строки.
os.loadavg()
¶
- Возвращает: {число[]}
Возвращает массив, содержащий средние значения нагрузки за 1, 5 и 15 минут.
Среднее значение нагрузки - это мера активности системы, рассчитываемая операционной системой и выражаемая в виде дробного числа.
Среднее значение нагрузки - это понятие, специфичное для Unix. В Windows возвращаемое значение всегда равно [0, 0, 0]
.
os.machine()
¶
- Возвращает {строку}
Возвращает тип машины в виде строки, например, arm
, arm64
, aarch64
, mips
, mips64
, ppc64
, ppc64le
, s390
, s390x
, i386
, i686
, x86_64
.
В POSIX системах тип машины определяется вызовом uname(3)
. В Windows используется RtlGetVersion()
, а если она недоступна, то используется GetVersionExW()
. Дополнительную информацию см. в https://en.wikipedia.org/wiki/Uname#Examples.
os.networkInterfaces()
¶
- Возвращает:
<Object>
Возвращает объект, содержащий сетевые интерфейсы, которым был присвоен сетевой адрес.
Каждый ключ возвращаемого объекта идентифицирует сетевой интерфейс. Связанное значение представляет собой массив объектов, каждый из которых описывает назначенный сетевой адрес.
Свойства, доступные для объекта назначенного сетевого адреса, включают:
address
<string>
Назначенный адрес IPv4 или IPv6.netmask
<string>
Маска сети IPv4 или IPv6family
<string>
либоIPv4
, либоIPv6
.mac
<string>
MAC-адрес сетевого интерфейсаinternal
<boolean>
true
, если сетевой интерфейс является loopback или подобным интерфейсом, к которому нет удаленного доступа; иначеfalse
.scopeid
<number>
Числовой идентификатор области действия IPv6 (указывается только в том случае, еслиfamily
-IPv6
)cidr
<string>
Назначенный IPv4 или IPv6 адрес с префиксом маршрутизации в нотации CIDR. Еслиnetmask
недействительна, это свойство устанавливается вnull
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
os.platform()
¶
- Возвращает:
<string>
Возвращает строку, идентифицирующую платформу операционной системы, для которой был скомпилирован двоичный файл Node.js. Значение устанавливается во время компиляции. Возможные значения: 'aix'
, 'darwin'
, 'freebsd'
, 'linux'
, 'openbsd'
, 'sunos'
, и 'win32'
.
Возвращаемое значение эквивалентно process.platform
.
Значение 'android'
также может быть возвращено, если Node.js построен на операционной системе Android. Поддержка Android является экспериментальной.
os.release()
¶
- Возвращает:
<string>
Возвращает операционную систему в виде строки.
В POSIX системах выпуск операционной системы определяется вызовом uname(3)
. В Windows используется GetVersionExW()
. Дополнительную информацию см. на https://en.wikipedia.org/wiki/Uname#Examples.
os.setPriority([pid, ]priority)
¶
pid
<integer>
Идентификатор процесса, для которого нужно установить приоритет планирования. По умолчанию:0
.priority
<integer>
Приоритет планирования, который нужно назначить процессу.
Пытается установить приоритет планирования для процесса, указанного pid
. Если pid
не указан или равен 0
, используется идентификатор текущего процесса.
Входное значение priority
должно быть целым числом между -20
(высокий приоритет) и 19
(низкий приоритет). Из-за различий между уровнями приоритетов Unix и классами приоритетов Windows, priority
отображается на одну из шести констант приоритетов в os.constants.priority
. При извлечении уровня приоритета процесса это сопоставление диапазонов может привести к тому, что возвращаемое значение будет немного отличаться в Windows. Чтобы избежать путаницы, установите priority
в одну из констант приоритета.
В Windows установка приоритета в PRIORITY_HIGHEST
требует повышенных привилегий пользователя. В противном случае установленный приоритет будет молча снижен до PRIORITY_HIGH
.
os.tmpdir()
¶
- Возвращает:
<string>
Возвращает каталог по умолчанию операционной системы для временных файлов в виде строки.
os.totalmem()
¶
- Возвращает:
<integer>
Возвращает общий объем системной памяти в байтах в виде целого числа.
os.type()
¶
- Возвращает:
<string>
Возвращает имя операционной системы, полученное с помощью uname(3)
. Например, возвращается 'Linux'
в Linux, 'Darwin'
в macOS и 'Windows_NT'
в Windows.
Дополнительную информацию о результатах выполнения uname(3)
в различных операционных системах см. в https://en.wikipedia.org/wiki/Uname#Examples.
os.uptime()
¶
- Возвращает:
<integer>
Возвращает время работы системы в количестве секунд.
os.userInfo([options])
¶
options
<Object>
encoding
<string>
Кодировка символов, используемая для интерпретации результирующих строк. Еслиencoding
имеет значение'buffer'
, значенияusername
,hell
иhomedir
будут экземплярамиBuffer
. По умолчанию:'utf8'
.
- Возвращает:
<Object>
Возвращает информацию о текущем действующем пользователе. На POSIX платформах это обычно подмножество файла паролей. Возвращаемый объект включает в себя username
, uid
, gid
, hell
и homedir
. В Windows поля uid
и gid
равны -1
, а shell
- null
.
Значение homedir
, возвращаемое os.userInfo()
, предоставляется операционной системой. Это отличается от результата os.homedir()
, который запрашивает переменные окружения для домашнего каталога, прежде чем вернуться к ответу операционной системы.
Выбрасывает SystemError
, если у пользователя нет имени пользователя
или homedir
.
os.version()
¶
- Возвращает {строку}
Возвращает строку, идентифицирующую версию ядра.
В POSIX системах выпуск операционной системы определяется вызовом uname(3)
. В Windows используется RtlGetVersion()
, а если она недоступна, то используется GetVersionExW()
. Дополнительную информацию см. в https://en.wikipedia.org/wiki/Uname#Examples.
Константы ОС¶
Следующие константы экспортируются в os.constants
.
Не все константы будут доступны в каждой операционной системе.
Signal constants¶
The following signal constants are exported by os.constants.signals
.
Constant | Description |
---|---|
SIGHUP
|
Sent to indicate when a controlling terminal is closed or a parent process exits. |
SIGINT
|
Sent to indicate when a user wishes to interrupt a process (Ctrl+C). |
SIGQUIT
|
Sent to indicate when a user wishes to terminate a process and perform a core dump. |
SIGILL
|
Sent to a process to notify that it has attempted to perform an illegal, malformed, unknown, or privileged instruction. |
SIGTRAP
|
Sent to a process when an exception has occurred. |
SIGABRT
|
Sent to a process to request that it abort. |
SIGIOT
|
Synonym for SIGABRT
|
SIGBUS
|
Sent to a process to notify that it has caused a bus error. |
SIGFPE
|
Sent to a process to notify that it has performed an illegal arithmetic operation. |
SIGKILL
|
Sent to a process to terminate it immediately. |
SIGUSR1 SIGUSR2
|
Sent to a process to identify user-defined conditions. |
SIGSEGV
|
Sent to a process to notify of a segmentation fault. |
SIGPIPE
|
Sent to a process when it has attempted to write to a disconnected pipe. |
SIGALRM
|
Sent to a process when a system timer elapses. |
SIGTERM
|
Sent to a process to request termination. |
SIGCHLD
|
Sent to a process when a child process terminates. |
SIGSTKFLT
|
Sent to a process to indicate a stack fault on a coprocessor. |
SIGCONT
|
Sent to instruct the operating system to continue a paused process. |
SIGSTOP
|
Sent to instruct the operating system to halt a process. |
SIGTSTP
|
Sent to a process to request it to stop. |
SIGBREAK
|
Sent to indicate when a user wishes to interrupt a process. |
SIGTTIN
|
Sent to a process when it reads from the TTY while in the background. |
SIGTTOU
|
Sent to a process when it writes to the TTY while in the background. |
SIGURG
|
Sent to a process when a socket has urgent data to read. |
SIGXCPU
|
Sent to a process when it has exceeded its limit on CPU usage. |
SIGXFSZ
|
Sent to a process when it grows a file larger than the maximum allowed. |
SIGVTALRM
|
Sent to a process when a virtual timer has elapsed. |
SIGPROF
|
Sent to a process when a system timer has elapsed. |
SIGWINCH
|
Sent to a process when the controlling terminal has changed its size. |
SIGIO
|
Sent to a process when I/O is available. |
SIGPOLL
|
Synonym for SIGIO
|
SIGLOST
|
Sent to a process when a file lock has been lost. |
SIGPWR
|
Sent to a process to notify of a power failure. |
SIGINFO
|
Synonym for SIGPWR
|
SIGSYS
|
Sent to a process to notify of a bad argument. |
SIGUNUSED
|
Synonym for SIGSYS
|
Константы ошибок¶
Следующие константы ошибок экспортируются os.constants.errno
.
POSIX error constants¶
Constant | Description |
---|---|
E2BIG
|
Indicates that the list of arguments is longer than expected. |
EACCES
|
Indicates that the operation did not have sufficient permissions. |
EADDRINUSE
|
Indicates that the network address is already in use. |
EADDRNOTAVAIL
|
Indicates that the network address is currently unavailable for use. |
EAFNOSUPPORT
|
Indicates that the network address family is not supported. |
EAGAIN
|
Indicates that there is no data available and to try the operation again later. |
EALREADY
|
Indicates that the socket already has a pending connection in progress. |
EBADF
|
Indicates that a file descriptor is not valid. |
EBADMSG
|
Indicates an invalid data message. |
EBUSY
|
Indicates that a device or resource is busy. |
ECANCELED
|
Indicates that an operation was canceled. |
ECHILD
|
Indicates that there are no child processes. |
ECONNABORTED
|
Indicates that the network connection has been aborted. |
ECONNREFUSED
|
Indicates that the network connection has been refused. |
ECONNRESET
|
Indicates that the network connection has been reset. |
EDEADLK
|
Indicates that a resource deadlock has been avoided. |
EDESTADDRREQ
|
Indicates that a destination address is required. |
EDOM
|
Indicates that an argument is out of the domain of the function. |
EDQUOT
|
Indicates that the disk quota has been exceeded. |
EEXIST
|
Indicates that the file already exists. |
EFAULT
|
Indicates an invalid pointer address. |
EFBIG
|
Indicates that the file is too large. |
EHOSTUNREACH
|
Indicates that the host is unreachable. |
EIDRM
|
Indicates that the identifier has been removed. |
EILSEQ
|
Indicates an illegal byte sequence. |
EINPROGRESS
|
Indicates that an operation is already in progress. |
EINTR
|
Indicates that a function call was interrupted. |
EINVAL
|
Indicates that an invalid argument was provided. |
EIO
|
Indicates an otherwise unspecified I/O error. |
EISCONN
|
Indicates that the socket is connected. |
EISDIR
|
Indicates that the path is a directory. |
ELOOP
|
Indicates too many levels of symbolic links in a path. |
EMFILE
|
Indicates that there are too many open files. |
EMLINK
|
Indicates that there are too many hard links to a file. |
EMSGSIZE
|
Indicates that the provided message is too long. |
EMULTIHOP
|
Indicates that a multihop was attempted. |
ENAMETOOLONG
|
Indicates that the filename is too long. |
ENETDOWN
|
Indicates that the network is down. |
ENETRESET
|
Indicates that the connection has been aborted by the network. |
ENETUNREACH
|
Indicates that the network is unreachable. |
ENFILE
|
Indicates too many open files in the system. |
ENOBUFS
|
Indicates that no buffer space is available. |
ENODATA
|
Indicates that no message is available on the stream head read queue. |
ENODEV
|
Indicates that there is no such device. |
ENOENT
|
Indicates that there is no such file or directory. |
ENOEXEC
|
Indicates an exec format error. |
ENOLCK
|
Indicates that there are no locks available. |
ENOLINK
|
Indications that a link has been severed. |
ENOMEM
|
Indicates that there is not enough space. |
ENOMSG
|
Indicates that there is no message of the desired type. |
ENOPROTOOPT
|
Indicates that a given protocol is not available. |
ENOSPC
|
Indicates that there is no space available on the device. |
ENOSR
|
Indicates that there are no stream resources available. |
ENOSTR
|
Indicates that a given resource is not a stream. |
ENOSYS
|
Indicates that a function has not been implemented. |
ENOTCONN
|
Indicates that the socket is not connected. |
ENOTDIR
|
Indicates that the path is not a directory. |
ENOTEMPTY
|
Indicates that the directory is not empty. |
ENOTSOCK
|
Indicates that the given item is not a socket. |
ENOTSUP
|
Indicates that a given operation is not supported. |
ENOTTY
|
Indicates an inappropriate I/O control operation. |
ENXIO
|
Indicates no such device or address. |
EOPNOTSUPP
|
Indicates that an operation is not supported on the socket. Although ENOTSUP and EOPNOTSUPP have the same value on Linux, according to POSIX.1 these error values should be distinct.)
|
EOVERFLOW
|
Indicates that a value is too large to be stored in a given data type. |
EPERM
|
Indicates that the operation is not permitted. |
EPIPE
|
Indicates a broken pipe. |
EPROTO
|
Indicates a protocol error. |
EPROTONOSUPPORT
|
Indicates that a protocol is not supported. |
EPROTOTYPE
|
Indicates the wrong type of protocol for a socket. |
ERANGE
|
Indicates that the results are too large. |
EROFS
|
Indicates that the file system is read only. |
ESPIPE
|
Indicates an invalid seek operation. |
ESRCH
|
Indicates that there is no such process. |
ESTALE
|
Indicates that the file handle is stale. |
ETIME
|
Indicates an expired timer. |
ETIMEDOUT
|
Indicates that the connection timed out. |
ETXTBSY
|
Indicates that a text file is busy. |
EWOULDBLOCK
|
Indicates that the operation would block. |
EXDEV
|
Indicates an improper link. |
Windows-specific error constants¶
The following error codes are specific to the Windows operating system.
Constant | Description |
---|---|
WSAEINTR
|
Indicates an interrupted function call. |
WSAEBADF
|
Indicates an invalid file handle. |
WSAEACCES
|
Indicates insufficient permissions to complete the operation. |
WSAEFAULT
|
Indicates an invalid pointer address. |
WSAEINVAL
|
Indicates that an invalid argument was passed. |
WSAEMFILE
|
Indicates that there are too many open files. |
WSAEWOULDBLOCK
|
Indicates that a resource is temporarily unavailable. |
WSAEINPROGRESS
|
Indicates that an operation is currently in progress. |
WSAEALREADY
|
Indicates that an operation is already in progress. |
WSAENOTSOCK
|
Indicates that the resource is not a socket. |
WSAEDESTADDRREQ
|
Indicates that a destination address is required. |
WSAEMSGSIZE
|
Indicates that the message size is too long. |
WSAEPROTOTYPE
|
Indicates the wrong protocol type for the socket. |
WSAENOPROTOOPT
|
Indicates a bad protocol option. |
WSAEPROTONOSUPPORT
|
Indicates that the protocol is not supported. |
WSAESOCKTNOSUPPORT
|
Indicates that the socket type is not supported. |
WSAEOPNOTSUPP
|
Indicates that the operation is not supported. |
WSAEPFNOSUPPORT
|
Indicates that the protocol family is not supported. |
WSAEAFNOSUPPORT
|
Indicates that the address family is not supported. |
WSAEADDRINUSE
|
Indicates that the network address is already in use. |
WSAEADDRNOTAVAIL
|
Indicates that the network address is not available. |
WSAENETDOWN
|
Indicates that the network is down. |
WSAENETUNREACH
|
Indicates that the network is unreachable. |
WSAENETRESET
|
Indicates that the network connection has been reset. |
WSAECONNABORTED
|
Indicates that the connection has been aborted. |
WSAECONNRESET
|
Indicates that the connection has been reset by the peer. |
WSAENOBUFS
|
Indicates that there is no buffer space available. |
WSAEISCONN
|
Indicates that the socket is already connected. |
WSAENOTCONN
|
Indicates that the socket is not connected. |
WSAESHUTDOWN
|
Indicates that data cannot be sent after the socket has been shutdown. |
WSAETOOMANYREFS
|
Indicates that there are too many references. |
WSAETIMEDOUT
|
Indicates that the connection has timed out. |
WSAECONNREFUSED
|
Indicates that the connection has been refused. |
WSAELOOP
|
Indicates that a name cannot be translated. |
WSAENAMETOOLONG
|
Indicates that a name was too long. |
WSAEHOSTDOWN
|
Indicates that a network host is down. |
WSAEHOSTUNREACH
|
Indicates that there is no route to a network host. |
WSAENOTEMPTY
|
Indicates that the directory is not empty. |
WSAEPROCLIM
|
Indicates that there are too many processes. |
WSAEUSERS
|
Indicates that the user quota has been exceeded. |
WSAEDQUOT
|
Indicates that the disk quota has been exceeded. |
WSAESTALE
|
Indicates a stale file handle reference. |
WSAEREMOTE
|
Indicates that the item is remote. |
WSASYSNOTREADY
|
Indicates that the network subsystem is not ready. |
WSAVERNOTSUPPORTED
|
Indicates that the winsock.dll version is out of range.
|
WSANOTINITIALISED
|
Indicates that successful WSAStartup has not yet been performed. |
WSAEDISCON
|
Indicates that a graceful shutdown is in progress. |
WSAENOMORE
|
Indicates that there are no more results. |
WSAECANCELLED
|
Indicates that an operation has been canceled. |
WSAEINVALIDPROCTABLE
|
Indicates that the procedure call table is invalid. |
WSAEINVALIDPROVIDER
|
Indicates an invalid service provider. |
WSAEPROVIDERFAILEDINIT
|
Indicates that the service provider failed to initialized. |
WSASYSCALLFAILURE
|
Indicates a system call failure. |
WSASERVICE_NOT_FOUND
|
Indicates that a service was not found. |
WSATYPE_NOT_FOUND
|
Indicates that a class type was not found. |
WSA_E_NO_MORE
|
Indicates that there are no more results. |
WSA_E_CANCELLED
|
Indicates that the call was canceled. |
WSAEREFUSED
|
Indicates that a database query was refused. |
константы dlopen¶
Если они доступны в операционной системе, следующие константы экспортируются в os.constants.dlopen
. Подробную информацию см. в разделе dlopen(3).
Constant | Description |
---|---|
RTLD_LAZY
|
Perform lazy binding. Node.js sets this flag by default. |
RTLD_NOW
|
Resolve all undefined symbols in the library before dlopen(3) returns. |
RTLD_GLOBAL
|
Symbols defined by the library will be made available for symbol resolution of subsequently loaded libraries. |
RTLD_LOCAL
|
The converse of RTLD_GLOBAL . This is the default behavior if neither flag is specified.
|
RTLD_DEEPBIND
|
Make a self-contained library use its own symbols in preference to symbols from previously loaded libraries. |
Константы приоритетов¶
Следующие константы планирования процессов экспортируются os.constants.priority
.
Constant | Description |
---|---|
PRIORITY_LOW
|
The lowest process scheduling priority. This corresponds to IDLE_PRIORITY_CLASS on Windows, and a nice value of 19 on all other platforms.
|
PRIORITY_BELOW_NORMAL
|
The process scheduling priority above PRIORITY_LOW and below PRIORITY_NORMAL . This corresponds to BELOW_NORMAL_PRIORITY_CLASS on Windows, and a nice value of 10 on all other platforms.
|
PRIORITY_NORMAL
|
The default process scheduling priority. This corresponds to NORMAL_PRIORITY_CLASS on Windows, and a nice value of 0 on all other platforms.
|
PRIORITY_ABOVE_NORMAL
|
The process scheduling priority above PRIORITY_NORMAL and below PRIORITY_HIGH . This corresponds to ABOVE_NORMAL_PRIORITY_CLASS on Windows, and a nice value of -7 on all other platforms.
|
PRIORITY_HIGH
|
The process scheduling priority above PRIORITY_ABOVE_NORMAL and below PRIORITY_HIGHEST . This corresponds to HIGH_PRIORITY_CLASS on Windows, and a nice value of -14 on all other platforms.
|
PRIORITY_HIGHEST
|
The highest process scheduling priority. This corresponds to REALTIME_PRIORITY_CLASS on Windows, and a nice value of -20 on all other platforms.
|
libuv constants¶
Constant | Description |
---|---|
UV_UDP_REUSEADDR
|