开发者

How to execute an external program from within Node.js?

开发者 https://www.devze.com 2023-02-28 17:21 出处:网络
Is it pos开发者_运维知识库sible to execute an external program from within node.js? Is there an equivalent to Python\'s os.system() or any library that adds this functionality?var exec = require(\'chi

Is it pos开发者_运维知识库sible to execute an external program from within node.js? Is there an equivalent to Python's os.system() or any library that adds this functionality?


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


exec has memory limitation of buffer size of 512k. In this case it is better to use spawn. With spawn one has access to stdout of executed command at run time

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);
});


The simplest way is:

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

unref is necessary to end your process without waiting for "yourApp"

Here are the exec docs


From the Node.js documentation:

Node provides a tri-directional popen(3) facility through the ChildProcess class.

See http://nodejs.org/docs/v0.4.6/api/child_processes.html

0

精彩评论

暂无评论...
验证码 换一张
取 消