Spaces:
Sleeping
Sleeping
File size: 3,224 Bytes
c2b7eb3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | const binding = require('./binding')
const errors = require('./lib/errors')
const constants = require('./lib/constants')
exports.constants = constants
exports.errors = errors
exports.EOL = binding.platform === 'win32' ? '\r\n' : '\n'
exports.devNull = binding.platform === 'win32' ? '\\\\.\\nul' : '/dev/null'
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.groupInfo = binding.groupInfo
exports.networkInterfaces = function networkInterfaces() {
const result = {}
for (const entry of binding.networkInterfaces()) {
const { name, ...properties } = entry
if (result[name]) result[name].push(properties)
else result[name] = [properties]
}
return result
}
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.availableMemory = binding.availableMemory
exports.constrainedMemory = binding.constrainedMemory
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.getPriority = function getPriority(pid = 0) {
return binding.getPriority(pid)
}
exports.setPriority = function setPriority(pid, priority) {
if (priority === undefined) {
priority = pid
pid = 0
}
binding.setPriority(pid, priority)
}
exports.getEnvKeys = binding.getEnvKeys
exports.getEnv = binding.getEnv
exports.hasEnv = binding.hasEnv
exports.setEnv = binding.setEnv
exports.unsetEnv = binding.unsetEnv
|