J'essaie d'exécuter un fichier binaire sur linux qui sort via stdout. Si je l'exécute depuis le terminal, j'obtiens un beau flux de données imprimées (près d'une ligne toutes les 50 ms) mais si je le lance depuis un script nodeJS avec child_process.spawn, les données arrivent en morceaux toutes les 5 secondes environ .child_process.spawn stdout venant en morceaux
extrait de code:
const spawn = require('child_process').spawn;
// Run all node binaries
for (let i = 0; i < config.dependencies.length; i++) {
// Get details on this binary
var repo = config.dependencies[i].name;
var version = config.dependencies[i].version;
console.log("Running: " + repo + ' version ' + version);
// Run this binary
node_process[i] = spawn('./'+repo+'/'+repo,[], {stdio: ['pipe', 'pipe', 'pipe']})
node_process[i].stdout.on('data', function(data) {
stdout_data=config.dependencies[i].name+ ":"+data.toString();
console.log("Stdout: " + stdout_data)
});
}
Je pense que j'ai tout est configuré pour imprimer les données en temps réel de stdout, et je suis très confus pour expliquer pourquoi cela ne fonctionne pas comme prévu. Merci les gars!