Ну, у меня есть простая консольная программа (написанная на php), которая выводит некоторую информацию, а затем ждет ввода пользователя и после ввода снова выводит некоторую другую информацию.
Мне нужно написать nodejs программа, которая будет:
- Поймать первый вывод из этой программы
- Каким-то образом сохранить это взаимодействие, чтобы отправить ему команду позже.
- Обработать и показать новый текст пользователю и ждать ввода (внутри узла)
- Захватить ввод пользователя и передать его в открытую программу
- Показать последний вывод из php программы в узле
- 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);
})
});
Но это не работает. Заранее спасибо!