Node-webkit执行外部命令?

时间:2013-10-29 19:43:11

标签: node.js bash node-webkit

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

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

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

谢谢大家。

1 个答案:

答案 0 :(得分:10)

在spawn / execute参数中使用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();