Перейти до вмісту

process

Метадані процесу, оточення, потоки та допоміжні засоби життєвого циклу, сумісні з Node.

На цій сторінці

globalThis.process, node:process, process і elide:process посилаються на той самий об’єкт.

Доступні поширені властивості Node, зокрема argv, execArgv, env, arch, platform, pid, ppid, version, versions, execPath, title, cwd(), umask(), exitCode і exit().

console.log(process.platform, process.arch);
console.log(process.cwd());

if (process.env.CI) process.exitCode = 1;

Події та планування

process є EventEmitter. Він підтримує стандартні методи слухачів і події середовища виконання, як-от warning, beforeExit, exit і uncaughtException.

process.nextTick(callback, ...args) виконується перед функціями зворотного виклику Promise і queueMicrotask на наступній контрольній точці:

const order = [];
process.nextTick(() => order.push("tick"));
Promise.resolve().then(() => order.push("promise"));
queueMicrotask(() => order.push("microtask"));
setImmediate(() => console.log(order));
// ["tick", "promise", "microtask"]

Стандартні потоки

stdin, stdout і stderr — потоки Node. stdout і stderr надають свій файловий дескриптор через fd; потоки терміналу також надають поля TTY. Вивід консолі спрямовується через ці потоки, тож заміна process.stdout.write перехоплює вивід console.log.

Оточення

process.env надає видиме оточення як змінюваний об’єкт. Завантаження, зміну та поведінку в підпроцесах описано в розділі Змінні оточення.

Часткові метрики

hrtime(), cpuUsage(), memoryUsage() і uptime() можна викликати. cpuUsage() і memoryUsage() повертають порожні об’єкти, тож не покладайтеся на докладні поля метрик Node. process.send і process.disconnect доступні в дочірньому процесі, запущеному через child_process.fork().

Reference

Status: Partial · 77 of 87 suite tests pass (88.5%) · since 1.1.0

Exports

ExportKindStatusNotes
process.archpropertyFullCPU architecture of the process (e.g. “x64”, “arm64”)
process.argvpropertyFullCommand-line arguments passed to the process, starting with the node executable path
process.argv0propertyFullThe original value of argv[0] before any modification by Node.js
process.envpropertyFullObject containing the process environment variables
process.execArgvpropertyFullNode.js-specific flags passed to the node executable
process.execPathpropertyFullAbsolute path of the node executable
process.pidpropertyFullProcess ID
process.ppidpropertyFullParent process ID
process.platformpropertyFullOperating system platform (e.g. “linux”, “darwin”, “win32”)
process.titlepropertyFullDisplayed process title (settable in most environments)
process.versionpropertyFullNode.js version string (e.g. “v20.0.0”)
process.versionspropertyFullObject mapping dependency names to their version strings
process.abort()functionFullTerminates the process immediately with a core dump (SIGABRT)
process.cwd()functionFullReturns the current working directory of the process
process.chdir()functionFullChanges the current working directory of the process
process.exit()functionFullTerminates the process with the given exit code
process.getuid()functionFullReturns the numeric user ID of the process owner
process.getgid()functionFullReturns the numeric group ID of the process owner
process.geteuid()functionFullReturns the effective numeric user ID
process.getegid()functionFullReturns the effective numeric group ID
process.hrtime()functionFullReturns the current high-resolution time as [seconds, nanoseconds]
process.umask()functionFullGets or sets the file creation mode mask
process.cpuUsage()functionFullReturns the CPU time used since an optional reference point
process.memoryUsage()functionFullReturns a snapshot of the current process memory usage
process.uptime()functionFullReturns the number of seconds the current process has been running
process.nextTick()functionFullSchedules a callback to run after I/O events but before timers in the current event loop tick
process.stdinpropertyFullReadable stream connected to stdin
process.stdoutpropertyFullWritable stream connected to stdout
process.stderrpropertyFullWritable stream connected to stderr

Not implemented

addUncaughtExceptionCaptureCallback, debugPort, finalization, getBuiltinModule, report, resourceUsage, sourceMapsEnabled.

Tests: node-api node:process: 77 pass, 10 fail, 0 error, 6 skipped. Failing: test-process-dlopen-error-message-crash.js, test-process-env-allowed-flags-are-documented.js, test-process-env-allowed-flags.js, test-process-exec-argv.js, test-process-execve-permission-fail.js, test-process-exit-code-validation.js, test-process-load-env-file.js, test-process-remove-all-signal-listeners.js, and 2 more.

Чи була ця сторінка корисною?