我有點困惑,如何在創建的NodeJS守護分叉中的NodeJS
我這一呼籲fork()
是繼續從那裏呼叫是在一個子進程允許做執行之前創建的守護程序用C父母終止。使用process.fork()
和process.kill()
我無法輕鬆達到同樣的效果。
下面的代碼並沒有做什麼,我期待和休息:
var current_pid, cp = require('child_process');
current_pid = process.pid;
cp.fork('');
process.kill(current_pid);
以下錯誤發出後,我想不通,爲什麼還是發生了什麼:
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)
問題看起來是process.kill()
。消除這一點,這兩個進程繼續愉快地運行。
我知道daemon.node,但是這是在child_process.fork()
不存在的時候創建的(v0.1.33是daemon.node寫入時可用的版本)。現在有一種原生的分叉方式,所以這不再是必要的。 (另外,它似乎已被拋棄了。)