Skip to content

OS

提供与操作系统相关的实用程序方法和属性。可以使用以下方式访问它:

js
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 网络掩码
  • familyIPv4 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 uidgidshellhomedir 。在 Windows 上, uidgid 字段是 -1 ,并且是 shell null 。

返回的 homedir os.userInfo() 值由操作系统提供。这与 的结果 os.homedir() 不同,后者在回退到操作系统响应之前查询主目录的环境变量。

os.version()

返回标识内核版本的字符串。

OS constants

以下信号常数由 os.constants.signals 导出

信号常量

命名描述
SIGHUP发送以指示控制终端何时关闭或父终端何时关闭 进程退出
SIGINT发送以指示用户何时希望中断进程 ( Ctrl + C )。
SIGQUIT发送以指示用户何时希望终止进程并执行 核心转储
SIGILL发送到一个进程,以通知它试图执行非法的, 格式错误、未知或特权指令
SIGTRAP发生异常时发送到进程
SIGABRT发送到进程以请求中止
SIGIOTSIGABRT 同义词
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 可用时发送到进程。
SIGPOLLSIGIO 同义词
SIGLOST在文件锁定丢失时发送到进程。
SIGPWR发送到进程以通知电源故障
SIGINFOSIGPWR 同义词
SIGSYS发送到进程以通知错误参数
SIGUNUSEDSIGSYS 同义词

错误常量

以下错误常量由 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 操作系统

nodejs官网

dlopen 常量

如果在操作系统上可用,则在 中 os.constants.dlopen 导出以下常量

优先级常量

以下进程调度常量由 os.constants.priority 导出

Released under the MIT License.