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
| Export | Kind | Status | Notes |
|---|---|---|---|
process.arch | property | Full | CPU architecture of the process (e.g. “x64”, “arm64”) |
process.argv | property | Full | Command-line arguments passed to the process, starting with the node executable path |
process.argv0 | property | Full | The original value of argv[0] before any modification by Node.js |
process.env | property | Full | Object containing the process environment variables |
process.execArgv | property | Full | Node.js-specific flags passed to the node executable |
process.execPath | property | Full | Absolute path of the node executable |
process.pid | property | Full | Process ID |
process.ppid | property | Full | Parent process ID |
process.platform | property | Full | Operating system platform (e.g. “linux”, “darwin”, “win32”) |
process.title | property | Full | Displayed process title (settable in most environments) |
process.version | property | Full | Node.js version string (e.g. “v20.0.0”) |
process.versions | property | Full | Object mapping dependency names to their version strings |
process.abort() | function | Full | Terminates the process immediately with a core dump (SIGABRT) |
process.cwd() | function | Full | Returns the current working directory of the process |
process.chdir() | function | Full | Changes the current working directory of the process |
process.exit() | function | Full | Terminates the process with the given exit code |
process.getuid() | function | Full | Returns the numeric user ID of the process owner |
process.getgid() | function | Full | Returns the numeric group ID of the process owner |
process.geteuid() | function | Full | Returns the effective numeric user ID |
process.getegid() | function | Full | Returns the effective numeric group ID |
process.hrtime() | function | Full | Returns the current high-resolution time as [seconds, nanoseconds] |
process.umask() | function | Full | Gets or sets the file creation mode mask |
process.cpuUsage() | function | Full | Returns the CPU time used since an optional reference point |
process.memoryUsage() | function | Full | Returns a snapshot of the current process memory usage |
process.uptime() | function | Full | Returns the number of seconds the current process has been running |
process.nextTick() | function | Full | Schedules a callback to run after I/O events but before timers in the current event loop tick |
process.stdin | property | Full | Readable stream connected to stdin |
process.stdout | property | Full | Writable stream connected to stdout |
process.stderr | property | Full | Writable 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.