| const binding = require('./binding') | |
| const errors = require('./lib/errors') | |
| const constants = require('./lib/constants') | |
| exports.constants = constants | |
| exports.EOL = binding.platform === 'win32' ? '\r\n' : '\n' | |
| exports.platform = function platform() { | |
| return binding.platform | |
| } | |
| exports.arch = function arch() { | |
| return binding.arch | |
| } | |
| exports.type = binding.type | |
| exports.version = binding.version | |
| exports.release = binding.release | |
| exports.machine = binding.machine | |
| exports.execPath = binding.execPath | |
| exports.pid = binding.pid | |
| exports.ppid = binding.ppid | |
| exports.cwd = binding.cwd | |
| exports.chdir = binding.chdir | |
| exports.tmpdir = binding.tmpdir | |
| exports.homedir = binding.homedir | |
| exports.hostname = binding.hostname | |
| exports.userInfo = binding.userInfo | |
| exports.kill = function kill(pid, signal = constants.signals.SIGTERM) { | |
| if (typeof signal === 'string') { | |
| if (signal in constants.signals === false) { | |
| throw errors.UNKNOWN_SIGNAL('Unknown signal: ' + signal) | |
| } | |
| signal = constants.signals[signal] | |
| } | |
| binding.kill(pid, signal) | |
| } | |
| exports.endianness = function endianness() { | |
| return binding.isLittleEndian ? 'LE' : 'BE' | |
| } | |
| exports.availableParallelism = binding.availableParallelism | |
| exports.cpuUsage = function cpuUsage(previous) { | |
| const current = binding.cpuUsage() | |
| if (previous) { | |
| return { | |
| user: current.user - previous.user, | |
| system: current.system - previous.system | |
| } | |
| } | |
| return current | |
| } | |
| exports.threadCpuUsage = function threadCpuUsage(previous) { | |
| const current = binding.threadCpuUsage() | |
| if (previous) { | |
| return { | |
| user: current.user - previous.user, | |
| system: current.system - previous.system | |
| } | |
| } | |
| return current | |
| } | |
| exports.resourceUsage = binding.resourceUsage | |
| exports.memoryUsage = binding.memoryUsage | |
| exports.freemem = binding.freemem | |
| exports.totalmem = binding.totalmem | |
| exports.uptime = binding.uptime | |
| exports.loadavg = binding.loadavg | |
| exports.cpus = binding.cpus | |
| exports.getProcessTitle = binding.getProcessTitle | |
| exports.setProcessTitle = function setProcessTitle(title) { | |
| if (typeof title !== 'string') title = title.toString() | |
| if (title.length >= 256) { | |
| throw errors.TITLE_OVERFLOW('Process title is too long') | |
| } | |
| binding.setProcessTitle(title) | |
| } | |
| exports.getEnvKeys = binding.getEnvKeys | |
| exports.getEnv = binding.getEnv | |
| exports.hasEnv = binding.hasEnv | |
| exports.setEnv = binding.setEnv | |
| exports.unsetEnv = binding.unsetEnv | |