Estoy un poco confundido en cuanto a cómo crear demonios en NodeJSbifurcan en NodeJS
he creado demonios en C antes de esa llamada fork()
que continúe la ejecución desde donde se hizo la llamada en un proceso hijo que permite el padre para terminar. No puedo lograr fácilmente el mismo efecto usando process.fork()
y process.kill()
.
El siguiente código no hace lo que yo esperaba y se rompe:
var current_pid, cp = require('child_process');
current_pid = process.pid;
cp.fork('');
process.kill(current_pid);
El siguiente error se emite y no puedo entender por qué o qué está sucediendo:
node.js:202
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: read EBADF
at errnoException (net.js:589:11)
at Pipe.onread (net.js:335:20)
El problema la llamada parece ser process.kill()
. Al eliminar esto, ambos procesos continúan funcionando felizmente.
Conozco daemon.node, pero esto fue creado en el momento en que child_process.fork()
no existía (v0.1.33 era la versión disponible cuando se escribió daemon.node). Ahora hay una forma nativa de bifurcar, por lo que ya no será necesario. (Además, parece haber sido abandonado también.)