是否有可能在node.js中执行外部程序?

是否有可能在node.js中执行外部程序? 是否有一个相当于Python的os.system()或任何库添加此function?

你想使用child_process模块。 请参阅文档 ,其中提供了各种用例的几个清晰示例。

 var exec = require('child_process').exec; exec('pwd', function callback(error, stdout, stderr){ // result }); 

exec具有512k缓冲区大小的内存限制。 在这种情况下最好使用spawn。 通过产生一个人可以在运行时访问执行命令的标准输出

 var spawn = require('child_process').spawn; var prc = spawn('java', ['-jar', '-Xmx512M', '-Dfile.encoding=utf8', 'script/importlistings.jar']); //noinspection JSUnresolvedFunction prc.stdout.setEncoding('utf8'); prc.stdout.on('data', function (data) { var str = data.toString() var lines = str.split(/(\r?\n)/g); console.log(lines.join("")); }); prc.on('close', function (code) { console.log('process exit code ' + code); }); 

最简单的方法是:

 const exec = require("child_process").exec exec('yourApp').unref() 

unref是必要的,以结束您的过程,而不必等待“yourApp”

这里是执行文档

从Node.js文档:

Node通过ChildProcess类提供了一个三向popen(3)工具。

请参阅http://nodejs.org/docs/v0.4.6/api/child_processes.html