@wargych

Как реализовать управление фоновым приложением через консоль?

Вопрос следующий:
имеется небольшое приложение с вебсокетами на go. Задумал прикрутить к нему возможность бана/разбана пользователей.
Кажется логичным сделать просто через стандартный ввод - вывод в консоли, но т.к. приложение запускается в фоновом режиме через systemd, то пока не догоняю, как можно в таком случае переключиться на консольное управление приложением )
Флаги тут вроде бы тоже не при чем, т.к. отвечают за конфигурирование приложения при запуске и не работают с уже запущенными.
Нужно в итоге, чтобы работало как, например, у mongoDB - вводишь mongo и консоль переводится на управление приложением.
Куда копать для реализации подобного? Программирование для меня хобби, пока не понимаю, в сторону чего гуглить.
  • Вопрос задан
  • 204 просмотра
Решения вопроса 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
Есть несколько вариантов:
1. Через stdin, в linux как правило достучаться к нему можно в /proc/PROCESS_ID/fd/0
2. Слушать в отдельном socket файле
3. Отправлять отдельный сетевой запрос
4. Можно посмотреть в сторону d-bus
...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Нужно в итоге, чтобы работало как, например, у mongoDB - вводишь mongo и консоль переводится на управление приложением.


Ну так там СОВЕРШЕННО не так просто.
есть отдельное приложение монго сервер и есть отдельное приложение монго клиент, которое подключается к серверу по порту. Причем оно подключается даже не к консоли а к сетевому сокету, и можно с другого компа подключаться.

Так и у вас - фоновое приложение слушает сокет, воспринимает команды и выполняет их.
Ответ написан
Ваш ответ на вопрос

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

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