在Node中执行子进程,该进程控制控制台

时间:2014-04-15 15:57:04

标签: node.js git child-process

我想从Node git commit运行命令。我可以这样做:

var exec = require("child_process").exec;
exec("git commit", function(error, stderr, stdout) {
  // Do stuff
});

然而,它总是挂起。我假设这是因为git commit想要控制控制台打开vim / emacs或其他什么,但Node不允许它。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

尝试使用spawn而不是exec,这样就可以继承stdio。

'use strict';

var spawn = require('child_process').spawn;
var commit = spawn('git', ['commit'], {stdio : 'inherit'});