Bun.spawn() to spawn a child process. When spawning a second bun process, you can open a direct inter-process communication (IPC) channel between the two processes.
To communicate with a Node.js process, set
serialization: "json" in Bun.spawn. Use process.execPath to get a
path to the currently running bun executable.The parent process sends messages to the subprocess with the
.send() method on the returned Subprocess instance. The ipc handler also receives the subprocess as its second argument.
The child process sends messages to its parent with
process.send() and receives messages with process.on("message"). This is the same API used for child_process.fork() in Node.js.
By default, messages are serialized with the JSC
serialize API, which supports everything structuredClone supports, including strings, typed arrays, and objects. This does not support transferring ownership of objects.
See Child processes.