Stream untergeordneter Prozessausgaben im Fließmodus

Ich habe eine benutzerdefinierte Befehlszeile mit Python geschrieben, die ihre Ausgabe mit der Anweisung "print" ausgibt. Ich verwende es von Node.js, indem ich einen untergeordneten Prozess spawne und Befehle mit an ihn sendechild.stdin.write Methode. Hier ist die Quelle:

var childProcess = require('child_process'),
    spawn = childProcess.spawn;

var child = spawn('./custom_cli', ['argument_1', 'argument_2']);

child.stdout.on('data', function (d) {
  console.log('out: ' + d);
});

child.stderr.on('data', function (d) {
  console.log('err: ' + d);
});

//execute first command after 1sec
setTimeout(function () {
  child.stdin.write('some_command' + '\n');
}, 1000);

//execute "quit" command after 2sec
//to terminate the command line
setTimeout(function () {
  child.stdin.write('quit' + '\n');
}, 2000);

Jetzt ist das Problem, dass ich die Ausgabe in nicht erhaltefließender Modus. Ich möchte die Ausgabe des untergeordneten Prozesses erhalten, sobald er gedruckt wurde, erhalte jedoch die Ausgabe aller Befehle nur, wenn der untergeordnete Prozess beendet wird (mithilfe von benutzerdefinierten Cli's)Verlassen Befehl).

Antworten auf die Frage(3)

Ihre Antwort auf die Frage