У меня есть серверное программное обеспечение, работающее на экране на сервере Linux (Debian, если это важно). Время от времени мне нужно ввести некоторые команды в процесс, поэтому я хочу оставить его на экране для облегчения доступа. (Также для просмотра его последнего вывода, который не регистрируется, и это не обязательно.)
Иногда это программное обеспечение необходимо перезапустить, и я делаю это следующим образом:
screen -r (to enter the screen running the software)
^C
serversoftware -flags
^A-D (to "minimize" the screen)
А теперь к проблеме. Мне нужно сделать простую веб-страницу с кнопкой «перезапустить», которая перезапускает этот сервер. Есть ли способ использовать PHP exec для имитации описанного выше процесса? Также можно разрешить PHP запускать файл сценария на любом другом языке. Я не знаю, как разрешить другим процессам управлять экраном.
Вы можете отправить удаленную команду в существующий сеанс экрана с параметром -X. Этот пост на StackOverflow должен помочь: https://stackoverflow.com/questions/6064548/send-commands-to-a-gnu-screen
смотреть на сценарий инициализации rtorrent. Он может запускать | останавливать | перезапускать сеанс экрана с rtorrent внутри. Мне кажется, что все, что вам нужно, это просто подставить «rtorrent» в вашу команду.