Я действительно смущен этим и изо всех сил пытался найти решение в течение нескольких месяцев. Я на OSX.родительский процесс убивает дочерний процесс, хотя отдельный отредактирован как истинный
Я слышал, что с использованием child_process.spawn с отключенной опцией, установленной в true, начнется дочерний процесс как лидер новой группы процессов, и если родительский элемент завершит работу, дочерний процесс может продолжить работу. Однако я никогда не видел никаких доказательств этого.
https://nodejs.org/api/child_process.html
Например:
const n = cp.spawn('node', ['watch-transpile.js'], {
detached: true,
stdio: ['ignore']
});
выше выполняется родителем, и если мы запустим $ ps aux | grep node
мы получаем:
Olegzandr 2546 0.0 0.2 3048544 19564 ?? Ss 11:29PM 0:00.09 node lib/transpile/watch-transpile.js
Olegzandr 2541 0.0 0.7 3115684 60216 s000 S+ 11:29PM 0:01.47 node index -t -a -w
Но когда я убью родительский элемент с control-c, дочерний процесс умирает, а также Родитель.
Как я могу создать фоновый процесс, который не зависит от родительского процесса с узлом? это убивает меня!
спасибо, я попытался это тоже и это не сработало, но будет продолжать пытаться ... –
Просто добавил ответ, он работает. child.unref() решает обратную задачу. Мне нужно, чтобы ребенок не выходил, когда родитель выходит. child.unref() позволяет родителям выйти, даже если у ребенка нет. совершенный обратный :) –