Sono un po 'confuso su come creare demoni in NodeJSForking in NodeJS
Ho creato demoni in C prima di quella chiamata fork()
che continuare l'esecuzione dal punto in cui la chiamata è stata fatta in un processo figlio permettendo il genitore di terminare. Non riesco a ottenere facilmente lo stesso effetto utilizzando process.fork()
e process.kill()
.
Il seguente codice non fa quello che mi aspettavo e pause:
var current_pid, cp = require('child_process');
current_pid = process.pid;
cp.fork('');
process.kill(current_pid);
Il seguente errore viene emesso e non riesco a capire perché o che cosa sta succedendo:
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)
Il problema la chiamata sembra essere process.kill()
. Rimuovendo questo, entrambi i processi continuano a funzionare felicemente.
Sono a conoscenza di daemon.node, ma questo è stato creato nel momento in cui child_process.fork()
non esisteva (v0.1.33 era la versione disponibile quando è stato scritto daemon.node). Ora c'è un modo nativo di fork, quindi questo non dovrebbe più essere necessario. (Inoltre, sembra essere stata abbandonata troppo.)