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

Довідник 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

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