如何在node-webkit(或node.js)外部进程中并行执行当前脚本的系统命令。
我正在尝试使用child_process。中断脚本子进程后退出。但是我需要一个简单的方法执行bash命令而不输出或输出但是当我的脚本被中断时没有程序停止。
我需要一个正确的简单方法。
谢谢大家。
答案 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();