2014-10-27 49 views
1

是否有可能從節點開始進程,該進程不是來自節點實例的子進程,而是系統進程? 如果我使用child_process,父進程中將包含新進程。問題是,如果父進程被取消,所有其他進程將被終止。我想運行新的進程而不是父進程被終止。作爲系統進程啓動新進程

回答

1

child.unref()一試。 According to the node.js documentation

如果設置了分離選項,子進程將成爲新進程組的引導者。這可以讓孩子在父母退出後繼續跑步。

默認情況下,父級將等待分離的子項退出。 爲了防止父母等待給定的孩子,請使用child.unref()方法,並且父母的事件循環不會將孩子包括在其引用計數中。

強調我的。所以知道,你也可以當分叉傳遞true在選項哈希detached選項:

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

謝謝! :)我注意到,在Windows上該產卵有點困難。對於那些想在Windows上使用它的人,這會很有幫助。 https://www.npmjs.org/package/win-spawn – teawithfruit 2014-10-30 14:50:49

+0

很高興幫助:) – 2014-10-30 18:48:14