var cp = require("child_process");
var proc = cp.spawn("cmd");
proc.stdout.on("data", data => console.log("Data:", data.toString()));
proc.stdin.write("help\n");
proc.stdin.write("help\n");
В приведенном выше фрагменте кода, как бы вы определить, когда поток закончил писать для конкретной команды (то есть, когда, если эти команды были выполнены в терминале, он будет показать мигающий курсор, который вы могли бы ввести в текст)?Обнаружить конец консольного вывода в Node.js
Я пробовал прослушивание события end
, но это кажется только уволенным, когда процесс заканчивается.
Вы пытаетесь вызвать командную строку, выдавать команды через нее, а затем обнаруживать, когда эти команды завершены? Это звучит как плохая идея, можете ли вы рассказать о том, что вы пытаетесь сделать? – Will
Я просто использую командную строку в качестве примера, я на самом деле пытаюсь взаимодействовать с 'ghci' - который можно запустить как замену Haskell. Я хочу знать, когда вывод из команды, выпущенной в repl через node.js, завершил вывод. –
@ thing789 вы можете вывести команду из вашего дочернего процесса в ваш основной процесс и прослушать его через stdout. – hownowbrowncow