2013-10-29 57 views
5

如何在node-webkit(或node.js)中执行当前脚本的并行外部进程的系统命令。Node-webkit执行外部命令?

我正在尝试使用child_process。中断我的脚本子进程后退出。不过,我需要一个简单的方法执行没有输出或输出,但没有程序停止当我的脚本将被中断的bash命令。

我需要一个正确的简单方法。

谢谢大家。在产卵

回答

10

使用detached选项/执行参数:

如果断开的选项设置,子进程将作出一个新的进程组的 领导者。这使得孩子可以在父母退出后继续运行 。

默认情况下,父级将等待分离的子项退出。若要 防止父母等待给定的孩子,请使用child.unref()方法,父母的事件循环不会在其引用计数中包含 孩子。

拆卸长时间运行的过程中,重定向其输出 到文件的

示例:

var fs = require('fs'), 
    spawn = require('child_process').spawn, 
    out = fs.openSync('./out.log', 'a'), 
    err = fs.openSync('./out.log', 'a'); 

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

child.unref();