Я пытаюсь разветвить дочерний процесс node с помощью
child_process.fork("child.js")
и заставить его сказать живым после выхода родителя. Я пробовал использовать отсоединенный вариант следующим образом:
child_process.fork("child.js", [], {detached:true});
Что работает при использовании spawn, но когда detached является истинным, используя fork, он просто молча терпит неудачу, даже не выполняя child.js.
я тоже пробовал
var p = child_process.fork("child.js")
p.disconnect();
p.unref();
Но ребенок все равно умирает, когда умирает родитель. Любая помощь или понимание будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
Версия узла: v5.3.0 Платформа: Windows 8.1 Код:
//Parent
var child_process = require("child_process");
var p;
try{
console.log(1)
p = child_process.fork("./child.js")
console.log(2)
} catch(e){
console.log(e)
}
p.on('error', console.log.bind(console))
p.disconnect();
p.unref();
//To keep process alive
setTimeout(() => {
console.log(1);
}, 100000);
--
//Child
var fs = require("fs");
console.log(3);
fs.writeFileSync("test.txt", new Date().toString());
setTimeout(()=>{
console.log(1);
}, 100000);