📅  最后修改于: 2023-12-03 15:17:55.276000             🧑  作者: Mango
在 Node.js 中,process.send()
方法是用于向父进程发送消息的 API。这是 node.js 提供的一种 IPC(进程间通信)方式,可以用于进程之间的通信。
process.send(message[, sendHandle][, options][, callback])
message
:要发送的消息。可以是任何 JSON 对象。sendHandle
(可选):一个 TCP 或 UNIX 套接字句柄,或者一个 net.Server 或 net.Socket 对象。options
(可选):指定发送选项的对象。例如,可以使用 options.pingTimeout
指定超时。callback
(可选):回调函数,在消息成功发送时调用。boolean
true
。false
。在子进程中发送消息给父进程:
// 子进程
process.send({ hello: 'world' });
在父进程中监听消息:
// 父进程
const { fork } = require('child_process');
const child = fork('./child.js');
child.on('message', message => {
console.log(`Received message from child process: ${message}`);
});
在上述代码示例中,子进程通过 process.send()
方法向父进程发送了一个 hello: 'world'
消息。父进程通过监听 child.on('message', ...)
事件,接收到了来自子进程的消息。
process.send()
只能用于父子进程之间的通讯。process.exit()
让子进程终止,则可能会出现内存泄漏的情况。child.disconnect()
方法手动断开与子进程的连接。exit
事件处理程序执行之前调用 process.disconnect()
方法把自己与父进程的连接断开。在 Node.js 中,process.send()
方法是一种在父子进程之间交换消息的机制。它简单易用,可以用于在不同的进程之间传递数据或者执行一些特定的操作。同时,我们在使用 process.send()
时也需要注意一些细节问题,避免出现内存泄漏等情况。