节点:按顺序产生进程,inheritancestdio

我想在节点中顺序启动一系列的cli进程。 我想开始第一个过程,等待它退出,然后开始第二个过程,依此类推。 这些进程是cli程序,所以它们必须inheritancestdio,以便用户可以与每个进行交互。

我在这里的代码产生了第一个进程,但是当它退出(我假设是因为它inheritance了stdio)父进程也退出。

我已经写了它与发电机,但我打开使用任何控制stream库来完成任务。 我试图使用npm包Q,但我无法弄清楚。

var cp = require('child_process'); var co = require('co'); var list = ['item', 'item2']; co(function* spawnTflix () { for (var i=0; i < list.length; i++) { var x = yield sp('program', ['-o', '--search='+list[i]]); } }); function sp (command, args) { return function (fn) { cp.spawn(command, args, { stdio: 'pipe' }); }; }