Как отправить несколько команд / входов в один и тот же сеанс программы командной строки в Node.js? - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь взаимодействовать с отладчиком командной строки и хочу иметь возможность выдать команду без закрытия стандартного ввода.Мне было интересно, если есть способ отправки команды без закрытия стандартного ввода?

Я пытался использовать модуль child_process.Я могу отправить команду с child.stdin.write() и child.stdin.end(), но child.stdin.end() закрывает стандартный ввод, поэтому я не могу больше отправлять команды

Вот упрощенная версия моего кода:

var spawn = require('child_process').spawn;
var stringStreamCreator = require('string-to-stream');

var child = spawn('spim');
child.stdin.setEncoding('utf-8');
child.stdout.pipe(process.stdout);

const main = async ()=>{

    child.stdin.write("?\n");
    //Send command
    //child.stdin.end();

    while(true){
        child.stdin.write("print_all_regs");
        //Send command
    }
}

main();
...