是否有可能在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)工具。