aboutsummaryrefslogtreecommitdiff
path: root/docs/guides/process/spawn.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/guides/process/spawn.md')
-rw-r--r--docs/guides/process/spawn.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/guides/process/spawn.md b/docs/guides/process/spawn.md
new file mode 100644
index 000000000..2a6589458
--- /dev/null
+++ b/docs/guides/process/spawn.md
@@ -0,0 +1,41 @@
+---
+name: Spawn a child process
+---
+
+Use [`Bun.spawn()`](/docs/api/spawn) to spawn a child process.
+
+```ts
+const proc = Bun.spawn(["echo", "hello"]);
+
+// await completion
+await proc.exited;
+```
+
+---
+
+The second argument accepts a configuration object.
+
+```ts
+const proc = Bun.spawn("echo", ["Hello, world!"], {
+ cwd: "/tmp",
+ env: { FOO: "bar" },
+ onExit(proc, exitCode, signalCode, error) {
+ // exit handler
+ },
+});
+```
+
+---
+
+By default, the `stdout` of the child process can be consumed as a `ReadableStream` using `proc.stdout`.
+
+```ts
+const proc = Bun.spawn(["echo", "hello"]);
+
+const output = await new Response(proc.stdout).text();
+output; // => "hello"
+```
+
+---
+
+See [Docs > API > Child processes](/docs/api/spawn) for complete documentation..