В обычных скриптах работают как асинхронные, так и синхронные функции для подпроцессов.
Работающий дочерний процесс удерживает скрипт в работе до своего события 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
| Export | Kind | Status | Notes |
|---|---|---|---|
exec(), execSync() | function | Full | Executes a command in a shell |
execFile(), execFileSync() | function | Full | Executes a file without a shell |
spawn(), spawnSync() | function | Full | Spawns a new process using the given command |
fork() | function | Full | Spawns a new Node.js process using the given module path |