@hotcooler17

Screen > file?

Помогите пожалуйста с такой дилеммой. На сервере в screen запущен диалоговый процесс. Иногда (весьма редко) нужно передать процессу команду, а логиниться по ssh из-за одной команды лень. Собственно передать команду процессу просто, через screen -X. А как можно получить ответ?
Все это в идеале нужно прикрутить к perl/php, но это я уже сам сделаю.


P.S. Гуглил 2 дня, но слово screen не очень поддается поиску — в связке со словами output, file, php, perl, bash обычно выдает результаты об stdout.


P.S.S. Повторюсь, команду нужно передать процессу в screen. Не в систему.
  • Вопрос задан
  • 3190 просмотров
Пригласить эксперта
Ответы на вопрос 3
kekekeks
@kekekeks
Вам screen вообще не нужен. Создайте по пайпу (mkpipe) и переведите туда stdin и stdout. Собственно, к ним можно невозбранно подключаться и читать/писать.
Ответ написан
OmIkRoNiXz
@OmIkRoNiXz
Как вариант на PHP например можно дать команду процессу в скрине так:

$cmd = sprintf("screen -S $screen_name -p 0 -X stuff \"rcon_password%s\"", chr(10));
а там уже например
exec("ssh server1 ".$cmd);

а прочитать результат можно например сказав скрину сделать hardcopy и прочитать что был за вывод

screen -S $screen_name -p 0 -X hardcopy ./hardcopy

и файл «hardcopy» будет содержать тогда результат

как нибудь так :)
Ответ написан
@whynot
О, не я один пишу игровой хостинг для стимовских игр :))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы