Перейти к содержимому

Справочник API node:child_process

Синхронные и асинхронные подпроцессы и порождённые воркеры с IPC

На этой странице
Open in ChatGPTOpen in Claude

В обычных скриптах работают как асинхронные, так и синхронные функции для подпроцессов. Работающий дочерний процесс удерживает скрипт в работе до своего события close:

import { spawn, execFileSync } from "node:child_process";

const child = spawn("echo", ["hello"]);
child.stdout.on("data", (data) => console.log(String(data).trim())); // hello
child.on("close", (code) => console.log("exit", code)); // exit 0

const output = execFileSync(process.execPath, [
  "--snippet",
  'process.stdout.write("hi")',
]);
console.log(output.toString()); // hi

Доступные экспорты: spawn, spawnSync, exec, execSync, execFile, execFileSync, fork и ChildProcess. spawnSync возвращает привычный объект с pid, status, signal, stdout, stderr и output. fork() запускает другой скрипт Elide с каналом IPC: child.send() и process.send() обмениваются сообщениями, которые доставляются как события message.

Когда активны флаги песочницы, создание процессов управляется --allow-run[=CMDS] и --deny-run <CMDS>.

Reference

Status: Full · Not measured · since 1.1.0

Exports

ExportKindStatusNotes
exec(), execSync()functionFullExecutes a command in a shell
execFile(), execFileSync()functionFullExecutes a file without a shell
spawn(), spawnSync()functionFullSpawns a new process using the given command
fork()functionFullSpawns a new Node.js process using the given module path

Была ли эта страница полезной?