Взаимодействовать с другой программой в nodejs - PullRequest
0 голосов
/ 15 марта 2020

Ну, у меня есть простая консольная программа (написанная на php), которая выводит некоторую информацию, а затем ждет ввода пользователя и после ввода снова выводит некоторую другую информацию.

Мне нужно написать nodejs программа, которая будет:

  1. Поймать первый вывод из этой программы
  2. Каким-то образом сохранить это взаимодействие, чтобы отправить ему команду позже.
  3. Обработать и показать новый текст пользователю и ждать ввода (внутри узла)
  4. Захватить ввод пользователя и передать его в открытую программу
  5. Показать последний вывод из php программы в узле
  6. end nodejs

Для простоты, давайте представим, что программа:

<?php
$line = readline("Enter your command: ");
print 'Thank you for submitting data.';
?>

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

То, что я сейчас нашел в узле, таково:

const readline = require('readline');
const exec = require('child_process').exec;
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

exec('php programm.php', function(error, stdout, stderr){
  console.log(stdout);
  rl.question(stdout.toUpperCase(), (answer) => {
    exec(answer);
  })
});

Но это не работает. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...