У меня есть игра, в которой я запускаю скрипт оболочки. Когда игра запускается через терминал, она активно печатает информацию, такую как «Подключено к серверу» или «Отключено» и т. Д.
const app = Application.currentApplication()
app.includeStandardAdditions = true
const terminalOutput = app.doShellScript('pathToGame');
console.log(terminalOutput);
Этот код распечатывается только тогда, когда приложение останавливается / выходит. Просто последнее утверждение напечатано. Я пытался найти способ напечатать каждое утверждение. Будь то в файле журнала или в качестве возвращаемого значения все, что он печатает во время выполнения процесса, без необходимости останавливать / выходить из него.
01:21:22: Application Running
01:21:23: Request connection to "ip address"
01:21:24: Connected to server "ip address"
01:45:01: Disconnected from server "ip address"
//Here my script would detect and try to log in again
Например: я открываю игру. Игра печатает «Запуск приложения», теперь с этим значением я знаю, что игра открыта, и я могу сказать своему сценарию войти в систему. Затем, если каким-то образом игра напечатает «Отключено от сервера», мое приложение обнаружит этот стандартный вывод и упадет. в функцию, в которой он попытается снова войти в систему.
Возможно ли получить стандартный вывод, пока приложение еще работает?