Comment exécuter un programme externe depuis Node.js ?

Est-il possible d'exécuter un programme externe depuis node.js ? Existe-t-il un équivalent à Python os.system()ou à une bibliothèque qui ajoute cette fonctionnalité ?


Solution du problème

exec a une limitation de mémoire de taille de tampon de 512k. Dans ce cas, il est préférable d'utiliser spawn. Avec spawn on a accès à stdout de la commande exécutée au moment de l'exécution

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

Commentaires

Posts les plus consultés de ce blog

Comment signer la connexion OKEx API version 5 avec websockets ?

La fonction GCP Cloud pour écrire des données dans BigQuery s'exécute avec succès, mais les données n'apparaissent pas dans la table BigQuery

Le shell POSIX (sh) redirige stderr vers stdout et capture stderr et stdout dans des variables