JHH*_*JHH 12 linux child-process node.js
我正在使用child_process.spawn()从我在Ubuntu上运行的Node.JS应用程序启动脚本.据我所知,标准分叉或生成的*nix进程通常不会在父进程死亡时死亡,但是当从Node.JS生成进程时,它们似乎在我的应用程序崩溃时被杀死,或者被ctrl-c等中止.
为什么会这样,有没有办法解决这个问题?我似乎无法在child_process API中找到任何明显的选项.
我的应用程序启动了一些应该在后台运行的长时间运行的任务,如果我的节点服务器崩溃或由于其他原因重新启动我不想中断任务,而是希望节点服务器重新启动,优雅地恢复监视那些正在运行的任务的进度.
Joh*_*hny 22
你需要设置分离选项
如果设置了分离选项,则子进程将成为新进程组的领导者.这使得孩子可以在父母退出后继续跑步.
var child = spawn('prg', [], {
detached: true,
stdio: [ 'ignore', out, err ]
});
Run Code Online (Sandbox Code Playgroud)