不要使用
exec。使用
spawn哪个是
EventEmmiter对象。然后,您可以在事件
发生时 收听
stdout/
stderrevent(
spawn.stdout.on('data',callback..))。 __从NodeJS文档中:
var spawn = require('child_process').spawn, ls = spawn('ls', ['-lh', '/usr']);ls.stdout.on('data', function (data) { console.log('stdout: ' + data.toString());});ls.stderr.on('data', function (data) { console.log('stderr: ' + data.toString());});ls.on('exit', function (pre) { console.log('child process exited with pre ' + pre.toString());});exec缓冲输出,通常在命令完成执行后将其返回。



