Usage in Deno
```typescript import * as mod from "node:node__os.d.ts"; ```The `node:os` module provides operating system-related utility methods and
properties. It can be accessed using:
```js
import os from 'node:os';
```
f
arch
Returns the operating system CPU architecture for which the Node.js binary was
compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'loong64'`, `'mips'`, `'mipsel'`, `'ppc'`, `'ppc64'`, `'riscv64'`, `'s390'`, `'s390x'`,
and `'x64'`.
The return value is equivalent to [process.arch](https://nodejs.org/docs/latest-v22.x/api/process.html#processarch).
f
availableParallelism
Returns an estimate of the default amount of parallelism a program should use.
Always returns a value greater than zero.
This function is a small wrapper about libuv's [`uv_available_parallelism()`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_available_parallelism).
f
cpus
Returns an array of objects containing information about each logical CPU core.
The array will be empty if no CPU information is available, such as if the `/proc` file system is unavailable.
The properties included on each object include:
```js
[
{
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,
},
},
]
```
`nice` values are POSIX-only. On Windows, the `nice` values of all processors
are always 0.
`os.cpus().length` should not be used to calculate the amount of parallelism
available to an application. Use [availableParallelism](.././node__os.d.ts/~/availableParallelism) for this purpose.
f
endianness
Returns a string identifying the endianness of the CPU for which the Node.js
binary was compiled.
Possible values are `'BE'` for big endian and `'LE'` for little endian.
f
freemem
Returns the amount of free system memory in bytes as an integer.
f
getPriority
Returns the scheduling priority for the process specified by `pid`. If `pid` is
not provided or is `0`, the priority of the current process is returned.
f
homedir
Returns the string path of the current user's home directory.
On POSIX, it uses the `$HOME` environment variable if defined. Otherwise it
uses the [effective UID](https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID) to look up the user's home directory.
On Windows, it uses the `USERPROFILE` environment variable if defined.
Otherwise it uses the path to the profile directory of the current user.
f
hostname
Returns the host name of the operating system as a string.
f
loadavg
Returns an array containing the 1, 5, and 15 minute load averages.
The load average is a measure of system activity calculated by the operating
system and expressed as a fractional number.
The load average is a Unix-specific concept. On Windows, the return value is
always `[0, 0, 0]`.
f
machine
Returns the machine type as a string, such as `arm`, `arm64`, `aarch64`, `mips`, `mips64`, `ppc64`, `ppc64le`, `s390`, `s390x`, `i386`, `i686`, `x86_64`.
On POSIX systems, the machine type is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not
available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
f
networkInterfaces
Returns an object containing network interfaces that have been assigned a
network address.
Each key on the returned object identifies a network interface. The associated
value is an array of objects that each describe an assigned network address.
The properties available on the assigned network address object include:
```js
{
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',
scopeid: 0,
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',
scopeid: 1,
internal: false,
cidr: 'fe80::a00:27ff:fe4e:66a1/64'
}
]
}
```
f
platform
Returns a string identifying the operating system platform for which
the Node.js binary was compiled. The value is set at compile time.
Possible values are `'aix'`, `'darwin'`, `'freebsd'`, `'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`.
The return value is equivalent to `process.platform`.
The value `'android'` may also be returned if Node.js is built on the Android
operating system. [Android support is experimental](https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os).
f
release
Returns the operating system as a string.
On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `GetVersionExW()` is used. See
[https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
f
setPriority
Attempts to set the scheduling priority for the process specified by `pid`. If `pid` is not provided or is `0`, the process ID of the current process is used.
The `priority` input must be an integer between `-20` (high priority) and `19` (low priority). Due to differences between Unix priority levels and Windows
priority classes, `priority` is mapped to one of six priority constants in `os.constants.priority`. When retrieving a process priority level, this range
mapping may cause the return value to be slightly different on Windows. To avoid
confusion, set `priority` to one of the priority constants.
On Windows, setting priority to `PRIORITY_HIGHEST` requires elevated user
privileges. Otherwise the set priority will be silently reduced to `PRIORITY_HIGH`.
f
tmpdir
Returns the operating system's default directory for temporary files as a
string.
f
totalmem
Returns the total amount of system memory in bytes as an integer.
f
type
Returns the operating system name as returned by [`uname(3)`](https://linux.die.net/man/3/uname). For example, it
returns `'Linux'` on Linux, `'Darwin'` on macOS, and `'Windows_NT'` on Windows.
See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for additional information
about the output of running [`uname(3)`](https://linux.die.net/man/3/uname) on various operating systems.
f
uptime
Returns the system uptime in number of seconds.
f
userInfo
Returns information about the currently effective user. On POSIX platforms,
this is typically a subset of the password file. The returned object includes
the `username`, `uid`, `gid`, `shell`, and `homedir`. On Windows, the `uid` and `gid` fields are `-1`, and `shell` is `null`.
The value of `homedir` returned by `os.userInfo()` is provided by the operating
system. This differs from the result of `os.homedir()`, which queries
environment variables for the home directory before falling back to the
operating system response.
Throws a [`SystemError`](https://nodejs.org/docs/latest-v22.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`.
f
version
Returns a string identifying the kernel version.
On POSIX systems, the operating system release is determined by calling [`uname(3)`](https://linux.die.net/man/3/uname). On Windows, `RtlGetVersion()` is used, and if it is not
available, `GetVersionExW()` will be used. See [https://en.wikipedia.org/wiki/Uname#Examples](https://en.wikipedia.org/wiki/Uname#Examples) for more information.
I
I
I
N
constants
No documentation available
N
constants.dlopen
No documentation available
N
constants.errno
No documentation available
N
constants.priority
No documentation available
N
v
constants.signals
No documentation available
T
NetworkInterfaceInfo
No documentation available
T
SignalConstants
No documentation available
v
constants.dlopen.RTLD_DEEPBIND
No documentation available
v
constants.dlopen.RTLD_GLOBAL
No documentation available
v
constants.dlopen.RTLD_LAZY
No documentation available
v
constants.dlopen.RTLD_LOCAL
No documentation available
v
constants.dlopen.RTLD_NOW
No documentation available
v
constants.errno.E2BIG
No documentation available
v
constants.errno.EACCES
No documentation available
v
constants.errno.EADDRINUSE
No documentation available
v
constants.errno.EADDRNOTAVAIL
No documentation available
v
constants.errno.EAFNOSUPPORT
No documentation available
v
constants.errno.EAGAIN
No documentation available
v
constants.errno.EALREADY
No documentation available
v
constants.errno.EBADF
No documentation available
v
constants.errno.EBADMSG
No documentation available
v
constants.errno.EBUSY
No documentation available
v
constants.errno.ECANCELED
No documentation available
v
constants.errno.ECHILD
No documentation available
v
constants.errno.ECONNABORTED
No documentation available
v
constants.errno.ECONNREFUSED
No documentation available
v
constants.errno.ECONNRESET
No documentation available
v
constants.errno.EDEADLK
No documentation available
v
constants.errno.EDESTADDRREQ
No documentation available
v
constants.errno.EDOM
No documentation available
v
constants.errno.EDQUOT
No documentation available
v
constants.errno.EEXIST
No documentation available
v
constants.errno.EFAULT
No documentation available
v
constants.errno.EFBIG
No documentation available
v
constants.errno.EHOSTUNREACH
No documentation available
v
constants.errno.EIDRM
No documentation available
v
constants.errno.EILSEQ
No documentation available
v
constants.errno.EINPROGRESS
No documentation available
v
constants.errno.EINTR
No documentation available
v
constants.errno.EINVAL
No documentation available
v
constants.errno.EIO
No documentation available
v
constants.errno.EISCONN
No documentation available
v
constants.errno.EISDIR
No documentation available
v
constants.errno.ELOOP
No documentation available
v
constants.errno.EMFILE
No documentation available
v
constants.errno.EMLINK
No documentation available
v
constants.errno.EMSGSIZE
No documentation available
v
constants.errno.EMULTIHOP
No documentation available
v
constants.errno.ENAMETOOLONG
No documentation available
v
constants.errno.ENETDOWN
No documentation available
v
constants.errno.ENETRESET
No documentation available
v
constants.errno.ENETUNREACH
No documentation available
v
constants.errno.ENFILE
No documentation available
v
constants.errno.ENOBUFS
No documentation available
v
constants.errno.ENODATA
No documentation available
v
constants.errno.ENODEV
No documentation available
v
constants.errno.ENOENT
No documentation available
v
constants.errno.ENOEXEC
No documentation available
v
constants.errno.ENOLCK
No documentation available
v
constants.errno.ENOLINK
No documentation available
v
constants.errno.ENOMEM
No documentation available
v
constants.errno.ENOMSG
No documentation available
v
constants.errno.ENOPROTOOPT
No documentation available
v
constants.errno.ENOSPC
No documentation available
v
constants.errno.ENOSR
No documentation available
v
constants.errno.ENOSTR
No documentation available
v
constants.errno.ENOSYS
No documentation available
v
constants.errno.ENOTCONN
No documentation available
v
constants.errno.ENOTDIR
No documentation available
v
constants.errno.ENOTEMPTY
No documentation available
v
constants.errno.ENOTSOCK
No documentation available
v
constants.errno.ENOTSUP
No documentation available
v
constants.errno.ENOTTY
No documentation available
v
constants.errno.ENXIO
No documentation available
v
constants.errno.EOPNOTSUPP
No documentation available
v
constants.errno.EOVERFLOW
No documentation available
v
constants.errno.EPERM
No documentation available
v
constants.errno.EPIPE
No documentation available
v
constants.errno.EPROTO
No documentation available
v
constants.errno.EPROTONOSUPPORT
No documentation available
v
constants.errno.EPROTOTYPE
No documentation available
v
constants.errno.ERANGE
No documentation available
v
constants.errno.EROFS
No documentation available
v
constants.errno.ESPIPE
No documentation available
v
constants.errno.ESRCH
No documentation available
v
constants.errno.ESTALE
No documentation available
v
constants.errno.ETIME
No documentation available
v
constants.errno.ETIMEDOUT
No documentation available
v
constants.errno.ETXTBSY
No documentation available
v
constants.errno.EWOULDBLOCK
No documentation available
v
constants.errno.EXDEV
No documentation available
v
constants.errno.WSA_E_CANCELLED
No documentation available
v
constants.errno.WSA_E_NO_MORE
No documentation available
v
constants.errno.WSAEACCES
No documentation available
v
constants.errno.WSAEADDRINUSE
No documentation available
v
constants.errno.WSAEADDRNOTAVAIL
No documentation available
v
constants.errno.WSAEAFNOSUPPORT
No documentation available
v
constants.errno.WSAEALREADY
No documentation available
v
constants.errno.WSAEBADF
No documentation available
v
constants.errno.WSAECANCELLED
No documentation available
v
constants.errno.WSAECONNABORTED
No documentation available
v
constants.errno.WSAECONNREFUSED
No documentation available
v
constants.errno.WSAECONNRESET
No documentation available
v
constants.errno.WSAEDESTADDRREQ
No documentation available
v
constants.errno.WSAEDISCON
No documentation available
v
constants.errno.WSAEDQUOT
No documentation available
v
constants.errno.WSAEFAULT
No documentation available
v
constants.errno.WSAEHOSTDOWN
No documentation available
v
constants.errno.WSAEHOSTUNREACH
No documentation available
v
constants.errno.WSAEINPROGRESS
No documentation available
v
constants.errno.WSAEINTR
No documentation available
v
constants.errno.WSAEINVAL
No documentation available
v
constants.errno.WSAEINVALIDPROCTABLE
No documentation available
v
constants.errno.WSAEINVALIDPROVIDER
No documentation available
v
constants.errno.WSAEISCONN
No documentation available
v
constants.errno.WSAELOOP
No documentation available
v
constants.errno.WSAEMFILE
No documentation available
v
constants.errno.WSAEMSGSIZE
No documentation available
v
constants.errno.WSAENAMETOOLONG
No documentation available
v
constants.errno.WSAENETDOWN
No documentation available
v
constants.errno.WSAENETRESET
No documentation available
v
constants.errno.WSAENETUNREACH
No documentation available
v
constants.errno.WSAENOBUFS
No documentation available
v
constants.errno.WSAENOMORE
No documentation available
v
constants.errno.WSAENOPROTOOPT
No documentation available
v
constants.errno.WSAENOTCONN
No documentation available
v
constants.errno.WSAENOTEMPTY
No documentation available
v
constants.errno.WSAENOTSOCK
No documentation available
v
constants.errno.WSAEOPNOTSUPP
No documentation available
v
constants.errno.WSAEPFNOSUPPORT
No documentation available
v
constants.errno.WSAEPROCLIM
No documentation available
v
constants.errno.WSAEPROTONOSUPPORT
No documentation available
v
constants.errno.WSAEPROTOTYPE
No documentation available
v
constants.errno.WSAEPROVIDERFAILEDINIT
No documentation available
v
constants.errno.WSAEREFUSED
No documentation available
v
constants.errno.WSAEREMOTE
No documentation available
v
constants.errno.WSAESHUTDOWN
No documentation available
v
constants.errno.WSAESOCKTNOSUPPORT
No documentation available
v
constants.errno.WSAESTALE
No documentation available
v
constants.errno.WSAETIMEDOUT
No documentation available
v
constants.errno.WSAETOOMANYREFS
No documentation available
v
constants.errno.WSAEUSERS
No documentation available
v
constants.errno.WSAEWOULDBLOCK
No documentation available
v
constants.errno.WSANOTINITIALISED
No documentation available
v
constants.errno.WSASERVICE_NOT_FOUND
No documentation available
v
constants.errno.WSASYSCALLFAILURE
No documentation available
v
constants.errno.WSASYSNOTREADY
No documentation available
v
constants.errno.WSATYPE_NOT_FOUND
No documentation available
v
constants.errno.WSAVERNOTSUPPORTED
No documentation available
v
constants.priority.PRIORITY_ABOVE_NORMAL
No documentation available
v
constants.priority.PRIORITY_BELOW_NORMAL
No documentation available
v
constants.priority.PRIORITY_HIGH
No documentation available
v
constants.priority.PRIORITY_HIGHEST
No documentation available
v
constants.priority.PRIORITY_LOW
No documentation available
v
constants.priority.PRIORITY_NORMAL
No documentation available
v
constants.UV_UDP_REUSEADDR
No documentation available
v
devNull
No documentation available
v
EOL
The operating system-specific end-of-line marker.
* `\n` on POSIX
* `\r\n` on Windows