作为系统进程启动新进程

是否有可能从节点开始一个进程,这不是从节点实例的subprocess,而是一个系统进程? 如果我使用child_process,则父进程中将包含新进程。 问题是,如果父进程被取消,所有其他进程将被杀死。 我想运行新的进程而不是父进程被终止。

child.unref()一个尝试。 根据node.js文档 :

如果设置了分离选项,则subprocess将成为新进程组的组长。 这可以让孩子在父母退出后继续跑步。

默认情况下,父母将等待分离的孩子退出。 为了防止父母等待给定的孩子,使用child.unref()方法 ,并且父母的事件循环将不包括引用计数中的孩子。

强调我的。 所以知道这一点,你也可以在分叉时将选项哈希中的detached选项传递给true

 var child = spawn('prg', [], { detached: true, stdio: [ 'ignore', out, err ] });