Files
FrenoCorp/node_modules/bare-os

bare-os

Operating system utilities for Bare. The API closely follows that of the Node.js os module.

npm i bare-os

Usage

const os = require('bare-os')

console.log(os.platform()) // 'darwin', 'linux', 'win32', ...
console.log(os.arch()) // 'arm64', 'x64', ...
console.log(os.homedir())
console.log(os.tmpdir())
console.log(os.hostname())
console.log(os.networkInterfaces())

API

os.constants

An object containing the following properties:

  • signals - Signal constants such as SIGTERM and SIGKILL.
  • errnos - Error number constants.
  • priority - Process priority constants.

These are also available as a separate module:

const constants = require('bare-os/constants')

os.EOL

The platform-specific end-of-line marker. '\r\n' on Windows, '\n' everywhere else.

os.devNull

The platform-specific path to the null device. '\\\\.\\nul' on Windows, '/dev/null' everywhere else.

const p = os.platform()

Returns the operating system platform as a string. Possible values include 'android', 'darwin', 'ios', 'linux', and 'win32'.

const a = os.arch()

Returns the CPU architecture as a string. Possible values include 'arm', 'arm64', 'ia32', and 'x64'.

const t = os.type()

Returns the operating system name as returned by uname(3).

const v = os.version()

Returns the operating system version.

const r = os.release()

Returns the operating system release.

const m = os.machine()

Returns the machine type as a string.

const p = os.execPath()

Returns the absolute path of the executable that started the process.

const id = os.pid()

Returns the process ID.

const id = os.ppid()

Returns the parent process ID.

const dir = os.cwd()

Returns the current working directory.

os.chdir(dir)

Changes the current working directory to dir.

const dir = os.tmpdir()

Returns the operating system's default directory for temporary files.

const dir = os.homedir()

Returns the home directory of the current user.

const name = os.hostname()

Returns the hostname of the operating system.

const interfaces = os.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 with the following properties:

  • address - The assigned IPv4 or IPv6 address.
  • netmask - The IPv4 or IPv6 network mask.
  • family - Either 'IPv4' or 'IPv6'.
  • cidr - The assigned IPv4 or IPv6 address with the routing prefix in CIDR notation.
  • mac - The MAC address of the network interface.
  • internal - true if the network interface is a loopback or similar interface that is not remotely accessible; otherwise false.
  • scopeid - The numeric IPv6 scope ID. Only specified when family is 'IPv6'.

os.kill(pid[, signal])

Sends signal to the process identified by pid. signal can be a string or a number. Defaults to 'SIGTERM'.

const info = os.userInfo([uid])

Returns information about a current user. The uid value defaults to the current effective uid. The returned object has the following properties:

  • uid - The user ID.
  • gid - The group ID.
  • username - The username.
  • homedir - The home directory.
  • shell - The shell, or null if unavailable.

const info = os.groupInfo([gid])

Returns information about a group. The gid value defaults to the effective group ID of the calling process. The returned object has the following properties:

  • groupname - The group name.
  • gid - The group ID.
  • members - List with the names of group members.

const e = os.endianness()

Returns 'LE' on little-endian systems and 'BE' on big-endian systems.

const n = os.availableParallelism()

Returns the number of logical CPU cores available to the process.

const usage = os.cpuUsage([previous])

Returns an object with user and system properties, each representing CPU time in microseconds. If previous is provided, the returned values are relative to it.

const usage = os.threadCpuUsage([previous])

Like os.cpuUsage() but for the current thread only.

const usage = os.resourceUsage()

Returns an object describing the resource usage of the current process. The returned object has the following properties:

  • userCPUTime - User CPU time in microseconds.
  • systemCPUTime - System CPU time in microseconds.
  • maxRSS - Maximum resident set size in bytes.
  • sharedMemorySize - Shared memory size.
  • unsharedDataSize - Unshared data size.
  • unsharedStackSize - Unshared stack size.
  • minorPageFault - Minor page faults.
  • majorPageFault - Major page faults.
  • swappedOut - Swap count.
  • fsRead - File system reads.
  • fsWrite - File system writes.
  • ipcSent - IPC messages sent.
  • ipcReceived - IPC messages received.
  • signalsCount - Signals received.
  • voluntaryContextSwitches - Voluntary context switches.
  • involuntaryContextSwitches - Involuntary context switches.

const usage = os.memoryUsage()

Returns an object describing the memory usage of the process. The returned object has the following properties:

  • rss - Resident set size in bytes.
  • heapTotal - Total heap size in bytes.
  • heapUsed - Used heap size in bytes.
  • external - Memory usage of C++ objects bound to JavaScript objects.

const bytes = os.freemem()

Returns the amount of free system memory in bytes.

const bytes = os.totalmem()

Returns the total amount of system memory in bytes.

const bytes = os.availableMemory()

Returns an estimate of the amount of memory available for the process in bytes.

const bytes = os.constrainedMemory()

Returns the amount of memory available to the process under resource constraints, such as cgroups.

const seconds = os.uptime()

Returns the system uptime in seconds.

const avgs = os.loadavg()

Returns an array containing the 1, 5, and 15 minute load averages.

const list = os.cpus()

Returns an array of objects describing each logical CPU core. Each object has the following properties:

  • model - The CPU model.
  • speed - The CPU speed in MHz.
  • times - An object with user, nice, sys, idle, and irq CPU time values in milliseconds.

const title = os.getProcessTitle()

Returns the current process title.

os.setProcessTitle(title)

Sets the process title. title is coerced to a string and must be shorter than 256 characters.

const priority = os.getPriority([pid])

Returns the scheduling priority of the process specified by pid. Defaults to 0, meaning the current process.

os.setPriority([pid, ]priority)

Sets the scheduling priority of the process specified by pid. If pid is omitted, the priority of the current process is set.

const keys = os.getEnvKeys()

Returns an array of the names of all environment variables.

const value = os.getEnv(name)

Returns the value of the environment variable name, or undefined if it is not set.

const exists = os.hasEnv(name)

Returns true if the environment variable name is set, otherwise false.

os.setEnv(name, value)

Sets the environment variable name to value.

os.unsetEnv(name)

Removes the environment variable name.

License

Apache-2.0