Я бы хотел, чтобы Node анализировал вывод текущей команды bash и делал что-то параллельно с выполнением выполненной команды.
Например,
const { exec } = require('child_process');
const child = exec('bash server.sh',
(error, stdout, stderr) => {
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
if (error !== null) {
console.log(`exec error: ${error}`);
}
});
где server.sh находится
yell () {
echo "bing";
sleep 1s;
yell;
}
yell;
К сожалению, процесс зависает, поскольку выполнение ожидает завершения server.sh, но никогда не завершается. Есть ли способ обработать вывод server.sh, как он появляется?
0
Coley G
1 ответ
Слушатель событий может быть привязан так:
child.stdout.on('data', (data) => {
console.log(data.toString());
});
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.