/
opt
/
alt
/
alt-nodejs10
/
root
/
usr
/
share
/
doc
/
alt-nodejs10-nodejs-10.24.1
/
html
/
api
/
Upload Filee
HOME
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>OS | Node.js v10.24.1 Documentation</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic"> <link rel="stylesheet" href="assets/style.css"> <link rel="stylesheet" href="assets/sh.css"> <link rel="canonical" href="https://nodejs.org/api/os.html"> </head> <body class="alt apidoc" id="api-section-os"> <div id="content" class="clearfix"> <div id="column2" class="interior"> <div id="intro" class="interior"> <a href="/" title="Go back to the home page"> Node.js </a> </div> <ul> <li><a href="documentation.html" class="nav-documentation">About these Docs</a></li> <li><a href="synopsis.html" class="nav-synopsis">Usage & Example</a></li> </ul> <div class="line"></div> <ul> <li><a href="assert.html" class="nav-assert">Assertion Testing</a></li> <li><a href="async_hooks.html" class="nav-async_hooks">Async Hooks</a></li> <li><a href="buffer.html" class="nav-buffer">Buffer</a></li> <li><a href="addons.html" class="nav-addons">C++ Addons</a></li> <li><a href="n-api.html" class="nav-n-api">C/C++ Addons - N-API</a></li> <li><a href="child_process.html" class="nav-child_process">Child Processes</a></li> <li><a href="cluster.html" class="nav-cluster">Cluster</a></li> <li><a href="cli.html" class="nav-cli">Command Line Options</a></li> <li><a href="console.html" class="nav-console">Console</a></li> <li><a href="crypto.html" class="nav-crypto">Crypto</a></li> <li><a href="debugger.html" class="nav-debugger">Debugger</a></li> <li><a href="deprecations.html" class="nav-deprecations">Deprecated APIs</a></li> <li><a href="dns.html" class="nav-dns">DNS</a></li> <li><a href="domain.html" class="nav-domain">Domain</a></li> <li><a href="esm.html" class="nav-esm">ECMAScript Modules</a></li> <li><a href="errors.html" class="nav-errors">Errors</a></li> <li><a href="events.html" class="nav-events">Events</a></li> <li><a href="fs.html" class="nav-fs">File System</a></li> <li><a href="globals.html" class="nav-globals">Globals</a></li> <li><a href="http.html" class="nav-http">HTTP</a></li> <li><a href="http2.html" class="nav-http2">HTTP/2</a></li> <li><a href="https.html" class="nav-https">HTTPS</a></li> <li><a href="inspector.html" class="nav-inspector">Inspector</a></li> <li><a href="intl.html" class="nav-intl">Internationalization</a></li> <li><a href="modules.html" class="nav-modules">Modules</a></li> <li><a href="net.html" class="nav-net">Net</a></li> <li><a href="os.html" class="nav-os active">OS</a></li> <li><a href="path.html" class="nav-path">Path</a></li> <li><a href="perf_hooks.html" class="nav-perf_hooks">Performance Hooks</a></li> <li><a href="process.html" class="nav-process">Process</a></li> <li><a href="punycode.html" class="nav-punycode">Punycode</a></li> <li><a href="querystring.html" class="nav-querystring">Query Strings</a></li> <li><a href="readline.html" class="nav-readline">Readline</a></li> <li><a href="repl.html" class="nav-repl">REPL</a></li> <li><a href="stream.html" class="nav-stream">Stream</a></li> <li><a href="string_decoder.html" class="nav-string_decoder">String Decoder</a></li> <li><a href="timers.html" class="nav-timers">Timers</a></li> <li><a href="tls.html" class="nav-tls">TLS/SSL</a></li> <li><a href="tracing.html" class="nav-tracing">Trace Events</a></li> <li><a href="tty.html" class="nav-tty">TTY</a></li> <li><a href="dgram.html" class="nav-dgram">UDP/Datagram</a></li> <li><a href="url.html" class="nav-url">URL</a></li> <li><a href="util.html" class="nav-util">Utilities</a></li> <li><a href="v8.html" class="nav-v8">V8</a></li> <li><a href="vm.html" class="nav-vm">VM</a></li> <li><a href="worker_threads.html" class="nav-worker_threads">Worker Threads</a></li> <li><a href="zlib.html" class="nav-zlib">Zlib</a></li> </ul> <div class="line"></div> <ul> <li><a href="https://github.com/nodejs/node" class="nav-https-github-com-nodejs-node">GitHub Repo & Issue Tracker</a></li> </ul> </div> <div id="column1" data-id="os" class="interior"> <header> <h1>Node.js v10.24.1 Documentation</h1> <div id="gtoc"> <ul> <li> <a href="index.html" name="toc">Index</a> </li> <li> <a href="all.html">View on single page</a> </li> <li> <a href="os.json">View as JSON</a> </li> <li class="version-picker"> <a href="#">View another version <span>▼</span></a> <ol class="version-picker"><li><a href="https://nodejs.org/docs/latest-v15.x/api/os.html">15.x</a></li> <li><a href="https://nodejs.org/docs/latest-v14.x/api/os.html">14.x <b>LTS</b></a></li> <li><a href="https://nodejs.org/docs/latest-v13.x/api/os.html">13.x</a></li> <li><a href="https://nodejs.org/docs/latest-v12.x/api/os.html">12.x <b>LTS</b></a></li> <li><a href="https://nodejs.org/docs/latest-v11.x/api/os.html">11.x</a></li> <li><a href="https://nodejs.org/docs/latest-v10.x/api/os.html">10.x <b>LTS</b></a></li> <li><a href="https://nodejs.org/docs/latest-v9.x/api/os.html">9.x</a></li> <li><a href="https://nodejs.org/docs/latest-v8.x/api/os.html">8.x</a></li> <li><a href="https://nodejs.org/docs/latest-v7.x/api/os.html">7.x</a></li> <li><a href="https://nodejs.org/docs/latest-v6.x/api/os.html">6.x</a></li> <li><a href="https://nodejs.org/docs/latest-v5.x/api/os.html">5.x</a></li> <li><a href="https://nodejs.org/docs/latest-v4.x/api/os.html">4.x</a></li> <li><a href="https://nodejs.org/docs/latest-v0.12.x/api/os.html">0.12.x</a></li> <li><a href="https://nodejs.org/docs/latest-v0.10.x/api/os.html">0.10.x</a></li></ol> </li> <li class="edit_on_github"><a href="https://github.com/nodejs/node/edit/master/doc/api/os.md"><span class="github_icon"><svg height="16" width="16" viewBox="0 0 16.1 16.1" fill="currentColor"><path d="M8 0a8 8 0 0 0-2.5 15.6c.4 0 .5-.2.5-.4v-1.5c-2 .4-2.5-.5-2.7-1 0-.1-.5-.9-.8-1-.3-.2-.7-.6 0-.6.6 0 1 .6 1.2.8.7 1.2 1.9 1 2.4.7 0-.5.2-.9.5-1-1.8-.3-3.7-1-3.7-4 0-.9.3-1.6.8-2.2 0-.2-.3-1 .1-2 0 0 .7-.3 2.2.7a7.4 7.4 0 0 1 4 0c1.5-1 2.2-.8 2.2-.8.5 1.1.2 2 .1 2.1.5.6.8 1.3.8 2.2 0 3-1.9 3.7-3.6 4 .3.2.5.7.5 1.4v2.2c0 .2.1.5.5.4A8 8 0 0 0 16 8a8 8 0 0 0-8-8z"/></svg></span>Edit on GitHub</a></li> </ul> </div> <hr> </header> <div id="toc"> <h2>Table of Contents</h2> <ul> <li> <p><span class="stability_2"><a href="#os_os">OS</a></span></p> <ul> <li><a href="#os_os_eol">os.EOL</a></li> <li><a href="#os_os_arch">os.arch()</a></li> <li><a href="#os_os_constants">os.constants</a></li> <li><a href="#os_os_cpus">os.cpus()</a></li> <li><a href="#os_os_endianness">os.endianness()</a></li> <li><a href="#os_os_freemem">os.freemem()</a></li> <li><a href="#os_os_getpriority_pid">os.getPriority([pid])</a></li> <li><a href="#os_os_homedir">os.homedir()</a></li> <li><a href="#os_os_hostname">os.hostname()</a></li> <li><a href="#os_os_loadavg">os.loadavg()</a></li> <li><a href="#os_os_networkinterfaces">os.networkInterfaces()</a></li> <li><a href="#os_os_platform">os.platform()</a></li> <li><a href="#os_os_release">os.release()</a></li> <li><a href="#os_os_setpriority_pid_priority">os.setPriority([pid, ]priority)</a></li> <li><a href="#os_os_tmpdir">os.tmpdir()</a></li> <li><a href="#os_os_totalmem">os.totalmem()</a></li> <li><a href="#os_os_type">os.type()</a></li> <li><a href="#os_os_uptime">os.uptime()</a></li> <li><a href="#os_os_userinfo_options">os.userInfo([options])</a></li> <li> <p><a href="#os_os_constants_1">OS Constants</a></p> <ul> <li><a href="#os_signal_constants">Signal Constants</a></li> <li> <p><a href="#os_error_constants">Error Constants</a></p> <ul> <li><a href="#os_posix_error_constants">POSIX Error Constants</a></li> <li><a href="#os_windows_specific_error_constants">Windows Specific Error Constants</a></li> </ul> </li> <li><a href="#os_dlopen_constants">dlopen Constants</a></li> <li><a href="#os_priority_constants">Priority Constants</a></li> <li><a href="#os_libuv_constants">libuv Constants</a></li> </ul> </li> </ul> </li> </ul> </div> <div id="apicontent"> <h1>OS<span><a class="mark" href="#os_os" id="os_os">#</a></span></h1> <p></p><div class="api_stability api_stability_2"><a href="documentation.html#documentation_stability_index">Stability: 2</a> - Stable</div><p></p> <p>The <code>os</code> module provides a number of operating system-related utility methods. It can be accessed using:</p> <pre><code class="language-js">const os = require('os'); </code></pre> <h2>os.EOL<span><a class="mark" href="#os_os_eol" id="os_os_eol">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.7.8</span> </div> <ul> <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>A string constant defining the operating system-specific end-of-line marker:</p> <ul> <li><code>\n</code> on POSIX</li> <li><code>\r\n</code> on Windows</li> </ul> <h2>os.arch()<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L112">[src]</a><span><a class="mark" href="#os_os_arch" id="os_os_arch">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.5.0</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.arch()</code> method returns a string identifying the operating system CPU architecture for which the Node.js binary was compiled.</p> <p>The current possible values are: <code>'arm'</code>, <code>'arm64'</code>, <code>'ia32'</code>, <code>'mips'</code>, <code>'mipsel'</code>, <code>'ppc'</code>, <code>'ppc64'</code>, <code>'s390'</code>, <code>'s390x'</code>, <code>'x32'</code>, and <code>'x64'</code>.</p> <p>Equivalent to <a href="process.html#process_process_arch"><code>process.arch</code></a>.</p> <h2>os.constants<span><a class="mark" href="#os_os_constants" id="os_os_constants">#</a></span></h2> <div class="api_metadata"> <span>Added in: v6.3.0</span> </div> <ul> <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a></li> </ul> <p>Returns an object containing commonly used operating system specific constants for error codes, process signals, and so on. The specific constants currently defined are described in <a href="#os_os_constants_1">OS Constants</a>.</p> <h2>os.cpus()<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L108">[src]</a><span><a class="mark" href="#os_os_cpus" id="os_os_cpus">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.3.3</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object[]></a></li> </ul> <p>The <code>os.cpus()</code> method returns an array of objects containing information about each logical CPU core.</p> <p>The properties included on each object include:</p> <ul> <li><code>model</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> <li><code>speed</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> (in MHz)</li> <li> <p><code>times</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a></p> <ul> <li><code>user</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> The number of milliseconds the CPU has spent in user mode.</li> <li><code>nice</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> The number of milliseconds the CPU has spent in nice mode.</li> <li><code>sys</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> The number of milliseconds the CPU has spent in sys mode.</li> <li><code>idle</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> The number of milliseconds the CPU has spent in idle mode.</li> <li><code>irq</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> The number of milliseconds the CPU has spent in irq mode.</li> </ul> </li> </ul> <!-- eslint-disable semi --> <pre><code class="language-js">[ { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 252020, nice: 0, sys: 30340, idle: 1070356870, irq: 0 } }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 306960, nice: 0, sys: 26980, idle: 1071569080, irq: 0 } }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 248450, nice: 0, sys: 21750, idle: 1070919370, irq: 0 } }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 256880, nice: 0, sys: 19430, idle: 1070905480, irq: 20 } }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 511580, nice: 20, sys: 40900, idle: 1070842510, irq: 0 } }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 291660, nice: 0, sys: 34360, idle: 1070888000, irq: 10 } }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 308260, nice: 0, sys: 55410, idle: 1071129970, irq: 880 } }, { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz', speed: 2926, times: { user: 266450, nice: 1480, sys: 34920, idle: 1072572010, irq: 30 } } ] </code></pre> <p>Because <code>nice</code> values are UNIX-specific, on Windows the <code>nice</code> values of all processors are always 0.</p> <h2>os.endianness()<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L143">[src]</a><span><a class="mark" href="#os_os_endianness" id="os_os_endianness">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.9.4</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.endianness()</code> method returns a string identifying the endianness of the CPU <em>for which the Node.js binary was compiled</em>.</p> <p>Possible values are:</p> <ul> <li><code>'BE'</code> for big endian</li> <li><code>'LE'</code> for little endian.</li> </ul> <h2>os.freemem()<span><a class="mark" href="#os_os_freemem" id="os_os_freemem">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.3.3</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><integer></a></li> </ul> <p>The <code>os.freemem()</code> method returns the amount of free system memory in bytes as an integer.</p> <h2>os.getPriority([pid])<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L226">[src]</a><span><a class="mark" href="#os_os_getpriority_pid" id="os_os_getpriority_pid">#</a></span></h2> <div class="api_metadata"> <span>Added in: v10.10.0</span> </div> <ul> <li><code>pid</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><integer></a> The process ID to retrieve scheduling priority for. <strong>Default</strong> <code>0</code>.</li> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><integer></a></li> </ul> <p>The <code>os.getPriority()</code> method returns the scheduling priority for the process specified by <code>pid</code>. If <code>pid</code> is not provided, or is <code>0</code>, the priority of the current process is returned.</p> <h2>os.homedir()<span><a class="mark" href="#os_os_homedir" id="os_os_homedir">#</a></span></h2> <div class="api_metadata"> <span>Added in: v2.3.0</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.homedir()</code> method returns the home directory of the current user as a string.</p> <h2>os.hostname()<span><a class="mark" href="#os_os_hostname" id="os_os_hostname">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.3.3</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.hostname()</code> method returns the hostname of the operating system as a string.</p> <h2>os.loadavg()<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L87">[src]</a><span><a class="mark" href="#os_os_loadavg" id="os_os_loadavg">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.3.3</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number[]></a></li> </ul> <p>The <code>os.loadavg()</code> method returns an array containing the 1, 5, and 15 minute load averages.</p> <p>The load average is a measure of system activity, calculated by the operating system and expressed as a fractional number. As a rule of thumb, the load average should ideally be less than the number of logical CPUs in the system.</p> <p>The load average is a UNIX-specific concept with no real equivalent on Windows platforms. On Windows, the return value is always <code>[0, 0, 0]</code>.</p> <h2>os.networkInterfaces()<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L197">[src]</a><span><a class="mark" href="#os_os_networkinterfaces" id="os_os_networkinterfaces">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.6.0</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a></li> </ul> <p>The <code>os.networkInterfaces()</code> method returns an object containing only network interfaces that have been assigned a network address.</p> <p>Each key on the returned object identifies a network interface. The associated value is an array of objects that each describe an assigned network address.</p> <p>The properties available on the assigned network address object include:</p> <ul> <li><code>address</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> The assigned IPv4 or IPv6 address</li> <li><code>netmask</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> The IPv4 or IPv6 network mask</li> <li><code>family</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> Either <code>IPv4</code> or <code>IPv6</code></li> <li><code>mac</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> The MAC address of the network interface</li> <li><code>internal</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type" class="type"><boolean></a> <code>true</code> if the network interface is a loopback or similar interface that is not remotely accessible; otherwise <code>false</code></li> <li><code>scopeid</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><number></a> The numeric IPv6 scope ID (only specified when <code>family</code> is <code>IPv6</code>)</li> <li><code>cidr</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> The assigned IPv4 or IPv6 address with the routing prefix in CIDR notation. If the <code>netmask</code> is invalid, this property is set to <code>null</code>.</li> </ul> <!-- eslint-skip --> <pre><code class="language-js">{ lo: [ { address: '127.0.0.1', netmask: '255.0.0.0', family: 'IPv4', mac: '00:00:00:00:00:00', internal: true, cidr: '127.0.0.1/8' }, { address: '::1', netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff', family: 'IPv6', mac: '00:00:00:00:00:00', scopeid: 0, internal: true, cidr: '::1/128' } ], eth0: [ { address: '192.168.1.108', netmask: '255.255.255.0', family: 'IPv4', mac: '01:02:03:0a:0b:0c', internal: false, cidr: '192.168.1.108/24' }, { address: 'fe80::a00:27ff:fe4e:66a1', netmask: 'ffff:ffff:ffff:ffff::', family: 'IPv6', mac: '01:02:03:0a:0b:0c', scopeid: 1, internal: false, cidr: 'fe80::a00:27ff:fe4e:66a1/64' } ] } </code></pre> <h2>os.platform()<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L117">[src]</a><span><a class="mark" href="#os_os_platform" id="os_os_platform">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.5.0</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.platform()</code> method returns a string identifying the operating system platform as set during compile time of Node.js.</p> <p>Currently possible values are:</p> <ul> <li><code>'aix'</code></li> <li><code>'darwin'</code></li> <li><code>'freebsd'</code></li> <li><code>'linux'</code></li> <li><code>'openbsd'</code></li> <li><code>'sunos'</code></li> <li><code>'win32'</code></li> </ul> <p>Equivalent to <a href="process.html#process_process_platform"><code>process.platform</code></a>.</p> <p>The value <code>'android'</code> may also be returned if the Node.js is built on the Android operating system. However, Android support in Node.js is considered <a href="https://github.com/nodejs/node/blob/master/BUILDING.md#androidandroid-based-devices-eg-firefox-os">to be experimental</a> at this time.</p> <h2>os.release()<span><a class="mark" href="#os_os_release" id="os_os_release">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.3.3</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.release()</code> method returns a string identifying the operating system release.</p> <p>On POSIX systems, the operating system release is determined by calling <a href="https://linux.die.net/man/3/uname"></a><a href="http://man7.org/linux/man-pages/man3/uname.3.html"><code>uname(3)</code></a>. On Windows, <code>GetVersionExW()</code> is used. Please see <a href="https://en.wikipedia.org/wiki/Uname#Examples">https://en.wikipedia.org/wiki/Uname#Examples</a> for more information.</p> <h2>os.setPriority([pid, ]priority)<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L211">[src]</a><span><a class="mark" href="#os_os_setpriority_pid_priority" id="os_os_setpriority_pid_priority">#</a></span></h2> <div class="api_metadata"> <span>Added in: v10.10.0</span> </div> <ul> <li><code>pid</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><integer></a> The process ID to set scheduling priority for. <strong>Default</strong> <code>0</code>.</li> <li><code>priority</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><integer></a> The scheduling priority to assign to the process.</li> </ul> <p>The <code>os.setPriority()</code> method attempts to set the scheduling priority for the process specified by <code>pid</code>. If <code>pid</code> is not provided, or is <code>0</code>, the priority of the current process is used.</p> <p>The <code>priority</code> input must be an integer between <code>-20</code> (high priority) and <code>19</code> (low priority). Due to differences between Unix priority levels and Windows priority classes, <code>priority</code> is mapped to one of six priority constants in <code>os.constants.priority</code>. When retrieving a process priority level, this range mapping may cause the return value to be slightly different on Windows. To avoid confusion, it is recommended to set <code>priority</code> to one of the priority constants.</p> <p>On Windows setting priority to <code>PRIORITY_HIGHEST</code> requires elevated user, otherwise the set priority will be silently reduced to <code>PRIORITY_HIGH</code>.</p> <h2>os.tmpdir()<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L122">[src]</a><span><a class="mark" href="#os_os_tmpdir" id="os_os_tmpdir">#</a></span></h2> <div class="api_metadata"> <details class="changelog"><summary>History</summary> <table> <tbody><tr><th>Version</th><th>Changes</th></tr> <tr><td>v2.0.0</td> <td><p>This function is now cross-platform consistent and no longer returns a path with a trailing slash on any platform</p></td></tr> <tr><td>v0.9.9</td> <td><p><span>Added in: v0.9.9</span></p></td></tr> </tbody></table> </details> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.tmpdir()</code> method returns a string specifying the operating system's default directory for temporary files.</p> <h2>os.totalmem()<span><a class="mark" href="#os_os_totalmem" id="os_os_totalmem">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.3.3</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><integer></a></li> </ul> <p>The <code>os.totalmem()</code> method returns the total amount of system memory in bytes as an integer.</p> <h2>os.type()<span><a class="mark" href="#os_os_type" id="os_os_type">#</a></span></h2> <div class="api_metadata"> <span>Added in: v0.3.3</span> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a></li> </ul> <p>The <code>os.type()</code> method returns a string identifying the operating system name as returned by <a href="https://linux.die.net/man/3/uname"></a><a href="http://man7.org/linux/man-pages/man3/uname.3.html"><code>uname(3)</code></a>. For example, <code>'Linux'</code> on Linux, <code>'Darwin'</code> on macOS, and <code>'Windows_NT'</code> on Windows.</p> <p>Please see <a href="https://en.wikipedia.org/wiki/Uname#Examples">https://en.wikipedia.org/wiki/Uname#Examples</a> for additional information about the output of running <a href="https://linux.die.net/man/3/uname"></a><a href="http://man7.org/linux/man-pages/man3/uname.3.html"><code>uname(3)</code></a> on various operating systems.</p> <h2>os.uptime()<span><a class="mark" href="#os_os_uptime" id="os_os_uptime">#</a></span></h2> <div class="api_metadata"> <details class="changelog"><summary>History</summary> <table> <tbody><tr><th>Version</th><th>Changes</th></tr> <tr><td>v10.0.0</td> <td><p>The result of this function no longer contains a fraction component on Windows.</p></td></tr> <tr><td>v0.3.3</td> <td><p><span>Added in: v0.3.3</span></p></td></tr> </tbody></table> </details> </div> <ul> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type" class="type"><integer></a></li> </ul> <p>The <code>os.uptime()</code> method returns the system uptime in number of seconds.</p> <h2>os.userInfo([options])<a class="srclink" href="https://github.com/nodejs/node/blob/5182a7ece0b71feeb9157f7aa348a15d53e32058/lib/os.js#L241">[src]</a><span><a class="mark" href="#os_os_userinfo_options" id="os_os_userinfo_options">#</a></span></h2> <div class="api_metadata"> <span>Added in: v6.0.0</span> </div> <ul> <li> <p><code>options</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a></p> <ul> <li><code>encoding</code> <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#String_type" class="type"><string></a> Character encoding used to interpret resulting strings. If <code>encoding</code> is set to <code>'buffer'</code>, the <code>username</code>, <code>shell</code>, and <code>homedir</code> values will be <code>Buffer</code> instances. <strong>Default:</strong> <code>'utf8'</code>.</li> </ul> </li> <li>Returns: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object" class="type"><Object></a></li> </ul> <p>The <code>os.userInfo()</code> method returns information about the currently effective user — on POSIX platforms, this is typically a subset of the password file. The returned object includes the <code>username</code>, <code>uid</code>, <code>gid</code>, <code>shell</code>, and <code>homedir</code>. On Windows, the <code>uid</code> and <code>gid</code> fields are <code>-1</code>, and <code>shell</code> is <code>null</code>.</p> <p>The value of <code>homedir</code> returned by <code>os.userInfo()</code> is provided by the operating system. This differs from the result of <code>os.homedir()</code>, which queries several environment variables for the home directory before falling back to the operating system response.</p> <h2>OS Constants<span><a class="mark" href="#os_os_constants_1" id="os_os_constants_1">#</a></span></h2> <p>The following constants are exported by <code>os.constants</code>.</p> <p>Not all constants will be available on every operating system.</p> <h3>Signal Constants<span><a class="mark" href="#os_signal_constants" id="os_signal_constants">#</a></span></h3> <div class="api_metadata"> <details class="changelog"><summary>History</summary> <table> <tbody><tr><th>Version</th><th>Changes</th></tr> <tr><td>v5.11.0</td> <td><p>Added support for <code>SIGINFO</code>.</p></td></tr> </tbody></table> </details> </div> <p>The following signal constants are exported by <code>os.constants.signals</code>:</p> <table> <tbody><tr> <th>Constant</th> <th>Description</th> </tr> <tr> <td><code>SIGHUP</code></td> <td>Sent to indicate when a controlling terminal is closed or a parent process exits.</td> </tr> <tr> <td><code>SIGINT</code></td> <td>Sent to indicate when a user wishes to interrupt a process (<code>(Ctrl+C)</code>).</td> </tr> <tr> <td><code>SIGQUIT</code></td> <td>Sent to indicate when a user wishes to terminate a process and perform a core dump.</td> </tr> <tr> <td><code>SIGILL</code></td> <td>Sent to a process to notify that it has attempted to perform an illegal, malformed, unknown, or privileged instruction.</td> </tr> <tr> <td><code>SIGTRAP</code></td> <td>Sent to a process when an exception has occurred.</td> </tr> <tr> <td><code>SIGABRT</code></td> <td>Sent to a process to request that it abort.</td> </tr> <tr> <td><code>SIGIOT</code></td> <td>Synonym for <code>SIGABRT</code></td> </tr> <tr> <td><code>SIGBUS</code></td> <td>Sent to a process to notify that it has caused a bus error.</td> </tr> <tr> <td><code>SIGFPE</code></td> <td>Sent to a process to notify that it has performed an illegal arithmetic operation.</td> </tr> <tr> <td><code>SIGKILL</code></td> <td>Sent to a process to terminate it immediately.</td> </tr> <tr> <td><code>SIGUSR1</code> <code>SIGUSR2</code></td> <td>Sent to a process to identify user-defined conditions.</td> </tr> <tr> <td><code>SIGSEGV</code></td> <td>Sent to a process to notify of a segmentation fault.</td> </tr> <tr> <td><code>SIGPIPE</code></td> <td>Sent to a process when it has attempted to write to a disconnected pipe.</td> </tr> <tr> <td><code>SIGALRM</code></td> <td>Sent to a process when a system timer elapses.</td> </tr> <tr> <td><code>SIGTERM</code></td> <td>Sent to a process to request termination.</td> </tr> <tr> <td><code>SIGCHLD</code></td> <td>Sent to a process when a child process terminates.</td> </tr> <tr> <td><code>SIGSTKFLT</code></td> <td>Sent to a process to indicate a stack fault on a coprocessor.</td> </tr> <tr> <td><code>SIGCONT</code></td> <td>Sent to instruct the operating system to continue a paused process.</td> </tr> <tr> <td><code>SIGSTOP</code></td> <td>Sent to instruct the operating system to halt a process.</td> </tr> <tr> <td><code>SIGTSTP</code></td> <td>Sent to a process to request it to stop.</td> </tr> <tr> <td><code>SIGBREAK</code></td> <td>Sent to indicate when a user wishes to interrupt a process.</td> </tr> <tr> <td><code>SIGTTIN</code></td> <td>Sent to a process when it reads from the TTY while in the background.</td> </tr> <tr> <td><code>SIGTTOU</code></td> <td>Sent to a process when it writes to the TTY while in the background.</td> </tr> <tr> <td><code>SIGURG</code></td> <td>Sent to a process when a socket has urgent data to read.</td> </tr> <tr> <td><code>SIGXCPU</code></td> <td>Sent to a process when it has exceeded its limit on CPU usage.</td> </tr> <tr> <td><code>SIGXFSZ</code></td> <td>Sent to a process when it grows a file larger than the maximum allowed.</td> </tr> <tr> <td><code>SIGVTALRM</code></td> <td>Sent to a process when a virtual timer has elapsed.</td> </tr> <tr> <td><code>SIGPROF</code></td> <td>Sent to a process when a system timer has elapsed.</td> </tr> <tr> <td><code>SIGWINCH</code></td> <td>Sent to a process when the controlling terminal has changed its size.</td> </tr> <tr> <td><code>SIGIO</code></td> <td>Sent to a process when I/O is available.</td> </tr> <tr> <td><code>SIGPOLL</code></td> <td>Synonym for <code>SIGIO</code></td> </tr> <tr> <td><code>SIGLOST</code></td> <td>Sent to a process when a file lock has been lost.</td> </tr> <tr> <td><code>SIGPWR</code></td> <td>Sent to a process to notify of a power failure.</td> </tr> <tr> <td><code>SIGINFO</code></td> <td>Synonym for <code>SIGPWR</code></td> </tr> <tr> <td><code>SIGSYS</code></td> <td>Sent to a process to notify of a bad argument.</td> </tr> <tr> <td><code>SIGUNUSED</code></td> <td>Synonym for <code>SIGSYS</code></td> </tr> </tbody></table> <h3>Error Constants<span><a class="mark" href="#os_error_constants" id="os_error_constants">#</a></span></h3> <p>The following error constants are exported by <code>os.constants.errno</code>:</p> <h4>POSIX Error Constants<span><a class="mark" href="#os_posix_error_constants" id="os_posix_error_constants">#</a></span></h4> <table> <tbody><tr> <th>Constant</th> <th>Description</th> </tr> <tr> <td><code>E2BIG</code></td> <td>Indicates that the list of arguments is longer than expected.</td> </tr> <tr> <td><code>EACCES</code></td> <td>Indicates that the operation did not have sufficient permissions.</td> </tr> <tr> <td><code>EADDRINUSE</code></td> <td>Indicates that the network address is already in use.</td> </tr> <tr> <td><code>EADDRNOTAVAIL</code></td> <td>Indicates that the network address is currently unavailable for use.</td> </tr> <tr> <td><code>EAFNOSUPPORT</code></td> <td>Indicates that the network address family is not supported.</td> </tr> <tr> <td><code>EAGAIN</code></td> <td>Indicates that there is currently no data available and to try the operation again later.</td> </tr> <tr> <td><code>EALREADY</code></td> <td>Indicates that the socket already has a pending connection in progress.</td> </tr> <tr> <td><code>EBADF</code></td> <td>Indicates that a file descriptor is not valid.</td> </tr> <tr> <td><code>EBADMSG</code></td> <td>Indicates an invalid data message.</td> </tr> <tr> <td><code>EBUSY</code></td> <td>Indicates that a device or resource is busy.</td> </tr> <tr> <td><code>ECANCELED</code></td> <td>Indicates that an operation was canceled.</td> </tr> <tr> <td><code>ECHILD</code></td> <td>Indicates that there are no child processes.</td> </tr> <tr> <td><code>ECONNABORTED</code></td> <td>Indicates that the network connection has been aborted.</td> </tr> <tr> <td><code>ECONNREFUSED</code></td> <td>Indicates that the network connection has been refused.</td> </tr> <tr> <td><code>ECONNRESET</code></td> <td>Indicates that the network connection has been reset.</td> </tr> <tr> <td><code>EDEADLK</code></td> <td>Indicates that a resource deadlock has been avoided.</td> </tr> <tr> <td><code>EDESTADDRREQ</code></td> <td>Indicates that a destination address is required.</td> </tr> <tr> <td><code>EDOM</code></td> <td>Indicates that an argument is out of the domain of the function.</td> </tr> <tr> <td><code>EDQUOT</code></td> <td>Indicates that the disk quota has been exceeded.</td> </tr> <tr> <td><code>EEXIST</code></td> <td>Indicates that the file already exists.</td> </tr> <tr> <td><code>EFAULT</code></td> <td>Indicates an invalid pointer address.</td> </tr> <tr> <td><code>EFBIG</code></td> <td>Indicates that the file is too large.</td> </tr> <tr> <td><code>EHOSTUNREACH</code></td> <td>Indicates that the host is unreachable.</td> </tr> <tr> <td><code>EIDRM</code></td> <td>Indicates that the identifier has been removed.</td> </tr> <tr> <td><code>EILSEQ</code></td> <td>Indicates an illegal byte sequence.</td> </tr> <tr> <td><code>EINPROGRESS</code></td> <td>Indicates that an operation is already in progress.</td> </tr> <tr> <td><code>EINTR</code></td> <td>Indicates that a function call was interrupted.</td> </tr> <tr> <td><code>EINVAL</code></td> <td>Indicates that an invalid argument was provided.</td> </tr> <tr> <td><code>EIO</code></td> <td>Indicates an otherwise unspecified I/O error.</td> </tr> <tr> <td><code>EISCONN</code></td> <td>Indicates that the socket is connected.</td> </tr> <tr> <td><code>EISDIR</code></td> <td>Indicates that the path is a directory.</td> </tr> <tr> <td><code>ELOOP</code></td> <td>Indicates too many levels of symbolic links in a path.</td> </tr> <tr> <td><code>EMFILE</code></td> <td>Indicates that there are too many open files.</td> </tr> <tr> <td><code>EMLINK</code></td> <td>Indicates that there are too many hard links to a file.</td> </tr> <tr> <td><code>EMSGSIZE</code></td> <td>Indicates that the provided message is too long.</td> </tr> <tr> <td><code>EMULTIHOP</code></td> <td>Indicates that a multihop was attempted.</td> </tr> <tr> <td><code>ENAMETOOLONG</code></td> <td>Indicates that the filename is too long.</td> </tr> <tr> <td><code>ENETDOWN</code></td> <td>Indicates that the network is down.</td> </tr> <tr> <td><code>ENETRESET</code></td> <td>Indicates that the connection has been aborted by the network.</td> </tr> <tr> <td><code>ENETUNREACH</code></td> <td>Indicates that the network is unreachable.</td> </tr> <tr> <td><code>ENFILE</code></td> <td>Indicates too many open files in the system.</td> </tr> <tr> <td><code>ENOBUFS</code></td> <td>Indicates that no buffer space is available.</td> </tr> <tr> <td><code>ENODATA</code></td> <td>Indicates that no message is available on the stream head read queue.</td> </tr> <tr> <td><code>ENODEV</code></td> <td>Indicates that there is no such device.</td> </tr> <tr> <td><code>ENOENT</code></td> <td>Indicates that there is no such file or directory.</td> </tr> <tr> <td><code>ENOEXEC</code></td> <td>Indicates an exec format error.</td> </tr> <tr> <td><code>ENOLCK</code></td> <td>Indicates that there are no locks available.</td> </tr> <tr> <td><code>ENOLINK</code></td> <td>Indications that a link has been severed.</td> </tr> <tr> <td><code>ENOMEM</code></td> <td>Indicates that there is not enough space.</td> </tr> <tr> <td><code>ENOMSG</code></td> <td>Indicates that there is no message of the desired type.</td> </tr> <tr> <td><code>ENOPROTOOPT</code></td> <td>Indicates that a given protocol is not available.</td> </tr> <tr> <td><code>ENOSPC</code></td> <td>Indicates that there is no space available on the device.</td> </tr> <tr> <td><code>ENOSR</code></td> <td>Indicates that there are no stream resources available.</td> </tr> <tr> <td><code>ENOSTR</code></td> <td>Indicates that a given resource is not a stream.</td> </tr> <tr> <td><code>ENOSYS</code></td> <td>Indicates that a function has not been implemented.</td> </tr> <tr> <td><code>ENOTCONN</code></td> <td>Indicates that the socket is not connected.</td> </tr> <tr> <td><code>ENOTDIR</code></td> <td>Indicates that the path is not a directory.</td> </tr> <tr> <td><code>ENOTEMPTY</code></td> <td>Indicates that the directory is not empty.</td> </tr> <tr> <td><code>ENOTSOCK</code></td> <td>Indicates that the given item is not a socket.</td> </tr> <tr> <td><code>ENOTSUP</code></td> <td>Indicates that a given operation is not supported.</td> </tr> <tr> <td><code>ENOTTY</code></td> <td>Indicates an inappropriate I/O control operation.</td> </tr> <tr> <td><code>ENXIO</code></td> <td>Indicates no such device or address.</td> </tr> <tr> <td><code>EOPNOTSUPP</code></td> <td>Indicates that an operation is not supported on the socket. Note that while <code>ENOTSUP</code> and <code>EOPNOTSUPP</code> have the same value on Linux, according to POSIX.1 these error values should be distinct.)</td> </tr> <tr> <td><code>EOVERFLOW</code></td> <td>Indicates that a value is too large to be stored in a given data type.</td> </tr> <tr> <td><code>EPERM</code></td> <td>Indicates that the operation is not permitted.</td> </tr> <tr> <td><code>EPIPE</code></td> <td>Indicates a broken pipe.</td> </tr> <tr> <td><code>EPROTO</code></td> <td>Indicates a protocol error.</td> </tr> <tr> <td><code>EPROTONOSUPPORT</code></td> <td>Indicates that a protocol is not supported.</td> </tr> <tr> <td><code>EPROTOTYPE</code></td> <td>Indicates the wrong type of protocol for a socket.</td> </tr> <tr> <td><code>ERANGE</code></td> <td>Indicates that the results are too large.</td> </tr> <tr> <td><code>EROFS</code></td> <td>Indicates that the file system is read only.</td> </tr> <tr> <td><code>ESPIPE</code></td> <td>Indicates an invalid seek operation.</td> </tr> <tr> <td><code>ESRCH</code></td> <td>Indicates that there is no such process.</td> </tr> <tr> <td><code>ESTALE</code></td> <td>Indicates that the file handle is stale.</td> </tr> <tr> <td><code>ETIME</code></td> <td>Indicates an expired timer.</td> </tr> <tr> <td><code>ETIMEDOUT</code></td> <td>Indicates that the connection timed out.</td> </tr> <tr> <td><code>ETXTBSY</code></td> <td>Indicates that a text file is busy.</td> </tr> <tr> <td><code>EWOULDBLOCK</code></td> <td>Indicates that the operation would block.</td> </tr> <tr> <td><code>EXDEV</code></td> <td>Indicates an improper link. </td></tr> </tbody></table> <h4>Windows Specific Error Constants<span><a class="mark" href="#os_windows_specific_error_constants" id="os_windows_specific_error_constants">#</a></span></h4> <p>The following error codes are specific to the Windows operating system:</p> <table> <tbody><tr> <th>Constant</th> <th>Description</th> </tr> <tr> <td><code>WSAEINTR</code></td> <td>Indicates an interrupted function call.</td> </tr> <tr> <td><code>WSAEBADF</code></td> <td>Indicates an invalid file handle.</td> </tr> <tr> <td><code>WSAEACCES</code></td> <td>Indicates insufficient permissions to complete the operation.</td> </tr> <tr> <td><code>WSAEFAULT</code></td> <td>Indicates an invalid pointer address.</td> </tr> <tr> <td><code>WSAEINVAL</code></td> <td>Indicates that an invalid argument was passed.</td> </tr> <tr> <td><code>WSAEMFILE</code></td> <td>Indicates that there are too many open files.</td> </tr> <tr> <td><code>WSAEWOULDBLOCK</code></td> <td>Indicates that a resource is temporarily unavailable.</td> </tr> <tr> <td><code>WSAEINPROGRESS</code></td> <td>Indicates that an operation is currently in progress.</td> </tr> <tr> <td><code>WSAEALREADY</code></td> <td>Indicates that an operation is already in progress.</td> </tr> <tr> <td><code>WSAENOTSOCK</code></td> <td>Indicates that the resource is not a socket.</td> </tr> <tr> <td><code>WSAEDESTADDRREQ</code></td> <td>Indicates that a destination address is required.</td> </tr> <tr> <td><code>WSAEMSGSIZE</code></td> <td>Indicates that the message size is too long.</td> </tr> <tr> <td><code>WSAEPROTOTYPE</code></td> <td>Indicates the wrong protocol type for the socket.</td> </tr> <tr> <td><code>WSAENOPROTOOPT</code></td> <td>Indicates a bad protocol option.</td> </tr> <tr> <td><code>WSAEPROTONOSUPPORT</code></td> <td>Indicates that the protocol is not supported.</td> </tr> <tr> <td><code>WSAESOCKTNOSUPPORT</code></td> <td>Indicates that the socket type is not supported.</td> </tr> <tr> <td><code>WSAEOPNOTSUPP</code></td> <td>Indicates that the operation is not supported.</td> </tr> <tr> <td><code>WSAEPFNOSUPPORT</code></td> <td>Indicates that the protocol family is not supported.</td> </tr> <tr> <td><code>WSAEAFNOSUPPORT</code></td> <td>Indicates that the address family is not supported.</td> </tr> <tr> <td><code>WSAEADDRINUSE</code></td> <td>Indicates that the network address is already in use.</td> </tr> <tr> <td><code>WSAEADDRNOTAVAIL</code></td> <td>Indicates that the network address is not available.</td> </tr> <tr> <td><code>WSAENETDOWN</code></td> <td>Indicates that the network is down.</td> </tr> <tr> <td><code>WSAENETUNREACH</code></td> <td>Indicates that the network is unreachable.</td> </tr> <tr> <td><code>WSAENETRESET</code></td> <td>Indicates that the network connection has been reset.</td> </tr> <tr> <td><code>WSAECONNABORTED</code></td> <td>Indicates that the connection has been aborted.</td> </tr> <tr> <td><code>WSAECONNRESET</code></td> <td>Indicates that the connection has been reset by the peer.</td> </tr> <tr> <td><code>WSAENOBUFS</code></td> <td>Indicates that there is no buffer space available.</td> </tr> <tr> <td><code>WSAEISCONN</code></td> <td>Indicates that the socket is already connected.</td> </tr> <tr> <td><code>WSAENOTCONN</code></td> <td>Indicates that the socket is not connected.</td> </tr> <tr> <td><code>WSAESHUTDOWN</code></td> <td>Indicates that data cannot be sent after the socket has been shutdown.</td> </tr> <tr> <td><code>WSAETOOMANYREFS</code></td> <td>Indicates that there are too many references.</td> </tr> <tr> <td><code>WSAETIMEDOUT</code></td> <td>Indicates that the connection has timed out.</td> </tr> <tr> <td><code>WSAECONNREFUSED</code></td> <td>Indicates that the connection has been refused.</td> </tr> <tr> <td><code>WSAELOOP</code></td> <td>Indicates that a name cannot be translated.</td> </tr> <tr> <td><code>WSAENAMETOOLONG</code></td> <td>Indicates that a name was too long.</td> </tr> <tr> <td><code>WSAEHOSTDOWN</code></td> <td>Indicates that a network host is down.</td> </tr> <tr> <td><code>WSAEHOSTUNREACH</code></td> <td>Indicates that there is no route to a network host.</td> </tr> <tr> <td><code>WSAENOTEMPTY</code></td> <td>Indicates that the directory is not empty.</td> </tr> <tr> <td><code>WSAEPROCLIM</code></td> <td>Indicates that there are too many processes.</td> </tr> <tr> <td><code>WSAEUSERS</code></td> <td>Indicates that the user quota has been exceeded.</td> </tr> <tr> <td><code>WSAEDQUOT</code></td> <td>Indicates that the disk quota has been exceeded.</td> </tr> <tr> <td><code>WSAESTALE</code></td> <td>Indicates a stale file handle reference.</td> </tr> <tr> <td><code>WSAEREMOTE</code></td> <td>Indicates that the item is remote.</td> </tr> <tr> <td><code>WSASYSNOTREADY</code></td> <td>Indicates that the network subsystem is not ready.</td> </tr> <tr> <td><code>WSAVERNOTSUPPORTED</code></td> <td>Indicates that the <code>winsock.dll</code> version is out of range.</td> </tr> <tr> <td><code>WSANOTINITIALISED</code></td> <td>Indicates that successful WSAStartup has not yet been performed.</td> </tr> <tr> <td><code>WSAEDISCON</code></td> <td>Indicates that a graceful shutdown is in progress.</td> </tr> <tr> <td><code>WSAENOMORE</code></td> <td>Indicates that there are no more results.</td> </tr> <tr> <td><code>WSAECANCELLED</code></td> <td>Indicates that an operation has been canceled.</td> </tr> <tr> <td><code>WSAEINVALIDPROCTABLE</code></td> <td>Indicates that the procedure call table is invalid.</td> </tr> <tr> <td><code>WSAEINVALIDPROVIDER</code></td> <td>Indicates an invalid service provider.</td> </tr> <tr> <td><code>WSAEPROVIDERFAILEDINIT</code></td> <td>Indicates that the service provider failed to initialized.</td> </tr> <tr> <td><code>WSASYSCALLFAILURE</code></td> <td>Indicates a system call failure.</td> </tr> <tr> <td><code>WSASERVICE_NOT_FOUND</code></td> <td>Indicates that a service was not found.</td> </tr> <tr> <td><code>WSATYPE_NOT_FOUND</code></td> <td>Indicates that a class type was not found.</td> </tr> <tr> <td><code>WSA_E_NO_MORE</code></td> <td>Indicates that there are no more results.</td> </tr> <tr> <td><code>WSA_E_CANCELLED</code></td> <td>Indicates that the call was canceled.</td> </tr> <tr> <td><code>WSAEREFUSED</code></td> <td>Indicates that a database query was refused.</td> </tr> </tbody></table> <h3>dlopen Constants<span><a class="mark" href="#os_dlopen_constants" id="os_dlopen_constants">#</a></span></h3> <p>If available on the operating system, the following constants are exported in <code>os.constants.dlopen</code>. See <a href="http://man7.org/linux/man-pages/man3/dlopen.3.html"><code>dlopen(3)</code></a> for detailed information.</p> <table> <tbody><tr> <th>Constant</th> <th>Description</th> </tr> <tr> <td><code>RTLD_LAZY</code></td> <td>Perform lazy binding. Node.js sets this flag by default.</td> </tr> <tr> <td><code>RTLD_NOW</code></td> <td>Resolve all undefined symbols in the library before dlopen(3) returns.</td> </tr> <tr> <td><code>RTLD_GLOBAL</code></td> <td>Symbols defined by the library will be made available for symbol resolution of subsequently loaded libraries.</td> </tr> <tr> <td><code>RTLD_LOCAL</code></td> <td>The converse of <code>RTLD_GLOBAL</code>. This is the default behavior if neither flag is specified.</td> </tr> <tr> <td><code>RTLD_DEEPBIND</code></td> <td>Make a self-contained library use its own symbols in preference to symbols from previously loaded libraries.</td> </tr> </tbody></table> <h3>Priority Constants<span><a class="mark" href="#os_priority_constants" id="os_priority_constants">#</a></span></h3> <div class="api_metadata"> <span>Added in: v10.10.0</span> </div> <p>The following process scheduling constants are exported by <code>os.constants.priority</code>:</p> <table> <tbody><tr> <th>Constant</th> <th>Description</th> </tr> <tr> <td><code>PRIORITY_LOW</code></td> <td>The lowest process scheduling priority. This corresponds to <code>IDLE_PRIORITY_CLASS</code> on Windows, and a nice value of <code>19</code> on all other platforms.</td> </tr> <tr> <td><code>PRIORITY_BELOW_NORMAL</code></td> <td>The process scheduling priority above <code>PRIORITY_LOW</code> and below <code>PRIORITY_NORMAL</code>. This corresponds to <code>BELOW_NORMAL_PRIORITY_CLASS</code> on Windows, and a nice value of <code>10</code> on all other platforms.</td> </tr> <tr> <td><code>PRIORITY_NORMAL</code></td> <td>The default process scheduling priority. This corresponds to <code>NORMAL_PRIORITY_CLASS</code> on Windows, and a nice value of <code>0</code> on all other platforms.</td> </tr> <tr> <td><code>PRIORITY_ABOVE_NORMAL</code></td> <td>The process scheduling priority above <code>PRIORITY_NORMAL</code> and below <code>PRIORITY_HIGH</code>. This corresponds to <code>ABOVE_NORMAL_PRIORITY_CLASS</code> on Windows, and a nice value of <code>-7</code> on all other platforms.</td> </tr> <tr> <td><code>PRIORITY_HIGH</code></td> <td>The process scheduling priority above <code>PRIORITY_ABOVE_NORMAL</code> and below <code>PRIORITY_HIGHEST</code>. This corresponds to <code>HIGH_PRIORITY_CLASS</code> on Windows, and a nice value of <code>-14</code> on all other platforms.</td> </tr> <tr> <td><code>PRIORITY_HIGHEST</code></td> <td>The highest process scheduling priority. This corresponds to <code>REALTIME_PRIORITY_CLASS</code> on Windows, and a nice value of <code>-20</code> on all other platforms.</td> </tr> </tbody></table> <h3>libuv Constants<span><a class="mark" href="#os_libuv_constants" id="os_libuv_constants">#</a></span></h3> <table> <tbody><tr> <th>Constant</th> <th>Description</th> </tr> <tr> <td><code>UV_UDP_REUSEADDR</code></td> <td></td> </tr> </tbody></table> </div> </div> </div> <script src="assets/sh_main.js"></script> <script src="assets/sh_javascript.min.js"></script> <script>highlight(undefined, undefined, 'pre');</script> </body> </html>