El método process.send() es una interfaz de programación de aplicaciones incorporada del módulo de proceso que utiliza el proceso secundario para comunicarse con el proceso principal. Este método no funciona para el proceso raíz porque no tiene ningún proceso principal.
Sintaxis:
process.send(message, [sendHandle])
Parámetros: Este método acepta el siguiente parámetro:
- mensaje: El mensaje que se tiene que enviar.
- sendHandle: un objeto Socket o Server. Es un parámetro opcional.
Valor de retorno: valor booleano. Devuelve verdadero si el mensaje se envió con éxito; de lo contrario, devuelve falso.
Ejemplo 1: Primero, en Parent.js, generamos el proceso secundario. Luego comience a escuchar el proceso secundario. En Child.js, recibimos el mensaje en Child.js . Luego verificamos si el método de envío está disponible y luego enviamos un mensaje al padre usando process.send().
Parent.js
// Require fork method from child_process // to spawn child process const fork = require('child_process').fork; // Child process file const child_file = 'Child.js'; // Spawn child process const child = fork(child_file); // Start listening to the child process child.on('message', message => { // Message from the child process console.log('Message from child:', message); });
Child.js
console.log('In Child.js') // If the send method is available if(process.send) { // Send Hello process.send("Hello, this is child process."); }
Ejecute el archivo Parent.js usando el siguiente comando:
node Parent.js
Producción:
In Child.js Message from child: Hello, this is child process.
Ejemplo 2: Múltiples mensajes del proceso hijo.
Parent.js
// Require fork method from child_process // to spawn child process const fork = require('child_process').fork; // Child process file const child_file = 'Child.js'; // Spawn child process const child = fork(child_file); // Start listening to the child process child.on('message', message => { // Message from the child process console.log('Message from child:', message); });
Child.js
console.log('In Child.js') // If the send method is available if(process.send) { // Send Hello process.send("Hello, this is child process."); // Send multiple messages setTimeout((function() { return process.send("This was send after 1 second."); }), 1000); setTimeout((function() { return process.send("This was send after 2 seconds."); }), 2000); setTimeout((function() { return process.send("This was send after 3 seconds."); }), 3000); }
Ejecute el archivo Parent.js usando el siguiente comando:
node Parent.js
Producción:
In Child.js Message from child: Hello, this is child process. Message from child: This was sent after 1 second. Message from child: This was sent after 2 seconds. Message from child: This was sent after 3 seconds.
Referencia: https://nodejs.org/api/process.html#process_process_send_message_sendhandle_options_callback
Publicación traducida automáticamente
Artículo escrito por adityapande88 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA