OS
提供与操作系统相关的实用程序方法和属性。可以使用以下方式访问它:
const os = require('node:os');
os.EOL
特定于操作系统的行尾标记。
\n
在POSIX上\r\n
在 Windows 上
os.availableParallelism()
注意:可使用的 node 版本,具体查看官网
返回程序应使用的默认并行度的估计值。始终返回大于零的值。
这个函数是关于 libuv 的 uv_available_parallelism()
一个小包装器。
os.arch()
返回为其编译Node.js二进制文件的操作系统 CPU 体系结构。可能的值为 'arm'
's390'
's390x'
'mips'
'mipsel'
'ppc'
'ppc64'
'riscv64'
'ia32'
'loong64'
'arm64'
'x64'
返回值等效于 process.arch
os.constants
包含错误代码、过程信号等常用的特定于操作系统的常量。OS 常量中描述了定义的特定常量。
os.cpus()
返回一个对象数组,其中包含有关每个逻辑 CPU 内核的信息。如果没有可用的 CPU 信息(例如文件 /proc
系统不可用),则阵列将为空。
每个对象上包含的属性包括:
model
speed
(单位:MHz)times
user
CPU 在用户模式下花费的毫秒数。nice
CPU 在 nice 模式下花费的毫秒数。sys
CPU 在 sys 模式下花费的毫秒数。idle
CPU 在空闲模式下花费的毫秒数irq
CPU 在 irq 模式下花费的毫秒数。
nice
值仅是 POSIX。在 Windows 上,所有处理器的 nice
值始终为 0。
os.cpus().length
不应用于计算应用程序可用的并行度量。 os.availableParallelism()
用于此目的。
os.devNull
空设备的特定于平台的文件路径
\\.\nul
在 Windows 上/dev/null
在POSIX上
os.endianness()
返回一个字符串,该字符串标识 CPU 的字节序,Node.js 二进制文件被编译。
可能的值是 'BE'
大端和 'LE'
小端。
os.freemem()
以整数形式返回可用系统内存量(以字节为单位)。
os.getPriority([pid])
pid
要检索其调度优先级的进程 ID。默认值: 0 .
返回 指定的 pid 进程的调度优先级。如果 pid not 提供或 is 0 ,则返回当前进程的优先级。
os.homedir()
返回当前用户主目录的字符串路径。
- 在 POSIX 上,如果已定义,
$HOME
则使用环境变量。否则,它将使用有效的 UID 来查找用户的主目录。 - 在 Windows 上,如果已定义,
USERPROFILE
则使用环境变量。否则,它将使用当前用户的配置文件目录的路径。
os.hostname()
以字符串形式返回操作系统的主机名。
os.loadavg()
返回一个包含 1、5 和 15 分钟平均负载的数组。
结果:[ 2.08740234375, 2.3857421875, 2.31884765625 ]
平均负载是通过操作计算的系统活动的度量 系统,并用小数表示。
平均负载是特定于 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()
os.networkInterfaces()
返回一个对象,其中包含已分配 网络地址。
返回对象上的每个键都标识一个网络接口。关联的 value 是一个对象数组,每个对象描述分配的网络地址。
分配的网络地址对象上可用的属性包括:
address
分配的 IPv4 或 IPv6 地址netmask
IPv4 或 IPv6 网络掩码family
或IPv4
IPv6
mac
网络接口的 MAC 地址internal
true
如果网络接口是无法远程访问的环回或类似接口;否则false
scopeid
数字 IPv6 作用域 ID(仅在family
时指定)IPv6
cidr
分配的 IPv4 或 IPv6 地址,其路由前缀采用 CIDR 表示法。如果 无效netmask
,则此属性设置为null
。
os.platform()
返回一个字符串,该字符串标识为其编译Node.js二进制文件的操作系统平台。该值在编译时设置。可能的值为: 'aix'
, 'darwin'
, 'freebsd'
,'linux'
, 'openbsd'
, 'sunos'
, and 'win32'
.
返回值等效于 process.platform
如果该值是在 Android 操作系统上构建的,则Node.js也可能返回该值 'android'
。Android 支持是实验性的
os.release()
以字符串形式返回操作系统。
os.tmpdir()
将操作系统的临时文件的默认目录作为 字符串。
os.totalmem()
以整数形式返回系统内存的总量(以字节为单位)。
os.type()
例如,它在 Linux、 'Darwin'
macOS 和 'Windows_NT'
Windows 上返回 'Linux'
os.uptime()
返回系统正常运行时间(以秒为单位)。
os.userInfo()
返回有关当前有效用户的信息。返回的对象包括 、username
uid
、 gid
、 shell
和 homedir
。在 Windows 上, uid
和 gid
字段是 -1 ,并且是 shell
null 。
返回的 homedir
os.userInfo()
值由操作系统提供。这与 的结果 os.homedir()
不同,后者在回退到操作系统响应之前查询主目录的环境变量。
os.version()
返回标识内核版本的字符串。
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 | 当进程从 TTY 读取时发送到进程,而在 背景 |
SIGTTIN | 发送到进程以识别用户定义的条件 |
SIGTTOU | 当进程写入 TTY 时发送到进程,而在 背景 |
SIGURG | 当套接字有紧急数据要读取时发送到进程 |
SIGXCPU | 当进程超出其 CPU 使用率限制时,将其发送到进程 |
SIGXFSZ | 当进程超出其文件大小限制时,将其发送到进程 |
SIGVTALRM | 在虚拟计时器过后发送到进程 |
SIGPROF | 在系统计时器过后发送到进程 |
SIGWINCH | 当控制终端更改其 大小 |
SIGIO | 当 I/O 可用时发送到进程。 |
SIGPOLL | SIGIO 同义词 |
SIGLOST | 在文件锁定丢失时发送到进程。 |
SIGPWR | 发送到进程以通知电源故障 |
SIGINFO | SIGPWR 同义词 |
SIGSYS | 发送到进程以通知错误参数 |
SIGUNUSED | SIGSYS 同义词 |
错误常量
以下错误常量由 os.constants.errno
导出。
命名 | 描述 |
---|---|
E2BIG | 参数列表过长 |
EACCES | 指示操作没有足够的权限 |
EADDRINUSE | 指示网络地址已被使用 |
EADDRNOTAVAIL | 指示网络地址不可用 |
EAFNOSUPPORT | 指示地址不受支持 |
EAGAIN | 指示没有可用的数据,并尝试 稍后再次操作 |
EALREADY | 指示操作正在进行中 |
EBADF | 指示文件无效 |
EBADMSG | 指示无效的数据消息 |
ECANCELED | 指示操作已取消 |
ECHILD | 指示没有子进程 |
ECONNABORTED | 指示网络连接已中止。 |
ECONNREFUSED | 指示网络连接已被拒绝 |
ECONNRESET | 指示网络连接已重置 |
EDEADLK | 指示已避免资源死锁 |
EDESTADDRREQ | 指示目标地址是必需的 |
EDOM | 指示参数不在函数的域中 |
EDQUOT | 表示已超出磁盘配额。 |
EEXIST | 指示文件已存在 |
EFAULT | 指示指针地址无效 |
EFBIG | 指示文件太大 |
EHOSTUNREACH | 指示主机无法访问 |
EIDRM | 指示标识符已被删除 |
EILSEQ | 指示无效的数据序列 |
EINPROGRESS | 指示操作正在进行中 |
EINTR | 指示函数调用已中断。 |
EINVAL | 指示参数无效 |
EIO | 指示其他未指定的 I/O 错误。 |
EISCONN | 指示网络连接已建立 |
EISDIR | 指示路径是目录 |
ELOOP | 指示路径中的符号链接级别过多 |
EMFILE | 指示打开的文件太多 |
EMLINK | 指示指向文件的硬链接过多 |
EMSGSIZE | 指示提供的消息太长 |
EMULTIHOP | 指示尝试了多跃点 |
ENAMETOOLONG | 指示文件名太长 |
ENETDOWN | 指示网络已关闭 |
ENETRESET | 指示网络连接已重置 |
ENETUNREACH | 指示网络无法访问 |
ENOBUFS | 指示没有可用的缓冲区空间 |
ENODEV | 表示没有此类设备 |
ENOENT | 指示没有此类文件或目录 |
ENOEXEC | 指示 exec 格式错误。 |
ENOMEM | 表示空间不足 |
ENOPROTOOPT | 指示给定协议不可用 |
ENOSPC | 表示磁盘空间不足 |
ENOSR | 指示没有可用的流资源 |
ENOTCONN | 指示插座未连接 |
ENOTDIR | 指示路径不是目录 |
ENOTEMPTY | 指示目录不为空 |
EPERM | 指示不允许该操作 |
EPIPE | 指示管道已断开 |
EPROTO | 指示协议错误 |
EPROTONOSUPPORT | 指示协议不受支持 |
ERANGE | 指示结果太大 |
EROFS | 指示文件系统不可写 |
ESPIPE | 指示无效的查找操作 |
ESRCH | 指示没有此类进程 |
ETIMEDOUT | 指示操作超时 |
ETXTBSY | 指示文本文件已打开 |
EWOULDBLOCK | 指示操作被阻塞 |
EXDEV | 指示链接不正确 |
特定于 Windows 的错误常量
以下错误代码特定于 Windows
操作系统
dlopen 常量
如果在操作系统上可用,则在 中 os.constants.dlopen
导出以下常量
优先级常量
以下进程调度常量由 os.constants.priority
导出