Usa Bun.spawn() para generar un proceso hijo. Al generar un segundo proceso bun, puedes abrir un canal de comunicación inter-proceso (IPC) directo entre los dos procesos.
NOTE
Esta API solo es compatible con otros procesos `bun`. Usa `process.execPath` para obtener una ruta al ejecutable `bun` en ejecución actual.const child = Bun.spawn(["bun", "child.ts"], {
ipc(message) {
/**
* El mensaje recibido del subproceso
**/
},
});El proceso padre puede enviar mensajes al subproceso usando el método .send() en la instancia Subprocess retornada. Una referencia al subproceso de envío también está disponible como el segundo argumento en el manejador ipc.
const childProc = Bun.spawn(["bun", "child.ts"], {
ipc(message, childProc) {
/**
* El mensaje recibido del subproceso
**/
childProc.send("Responder al hijo");
},
});
childProc.send("Soy tu padre"); // El padre también puede enviar mensajes al hijoMientras tanto, el proceso hijo puede enviar mensajes a su padre usando process.send() y recibir mensajes con process.on("message"). Esta es la misma API usada para child_process.fork() en Node.js.
process.send("Hola desde el hijo como cadena");
process.send({ message: "Hola desde el hijo como objeto" });
process.on("message", message => {
// imprimir mensaje del padre
console.log(message);
});Todos los mensajes se serializan usando la API serialize de JSC, que permite el mismo conjunto de tipos transferibles soportados por postMessage y structuredClone, incluyendo cadenas, arrays tipados, streams y objetos.
// enviar una cadena
process.send("Hola desde el hijo como cadena");
// enviar un objeto
process.send({ message: "Hola desde el hijo como objeto" });Consulta Documentación > API > Procesos hijo para la documentación completa.