Переподключитесь к выходу сервиса linux после выхода с помощью Ctrl + C - PullRequest
0 голосов
/ 15 октября 2019

Конфигурация

Я установил RabbitMQ и Celery в контейнере Docker для выполнения асинхронных задач с Python . Я подключаюсь к работающему контейнеру с несколькими консолями, чтобы запускать службы и контролировать все. Все отлично работает. Я могу запустить некоторые задачи и отслеживать результаты.

Проблема

Когда я запускаю rabbitmq-сервер, я получаю вывод на консоль , которая началасьсервер (служба?).

Если я выйду из «вывода» с помощью Ctrl + C, сервер продолжит работу в качестве службы. (Я проверил "ps -ef" и также запустил некоторые задачи)

Как можно снова перенаправить вывод на консоль?

В настоящее время япросто убейте процесс и перезапустите rabitmq-сервер.

Мои выводы и вопросы

Я думаю, что возможно получить вывод из файла, который RabbitMQ также регистрируетк.

Но это не главное!

Я не уверен, но я думаю, что в настоящее время (когда я запускаю сервер) вывод направляется на стандартный вывод, и как-то мой вывод - это мой вывод. приставка. Но если я выйду из этого «подключения - вложения», моя консоль перестанет получать стандартный вывод из этого сервиса. Но куда идет стандартный вывод? Это потеряно? Может ли это вызвать какую-либо ошибку? Или, может быть, заполнить дисковое пространство с журналированием? Почему некоторые службы запускаются без вывода, а другие - с? Могу ли я подключиться к выходу каких-либо служб?

Прощение

Это мой первый вопрос, и мне очень жаль, если он неправильно структурирован или не объяснен должным образом.

Спасибо

1 Ответ

0 голосов
/ 15 октября 2019

Любая служба, работающая в Docker при записи журналов в консоль, журналы перенаправляются на стандартный вывод Docker и могут быть получены с помощью команды

docker container logs CONTAINER_ID|CONTAINER_NAME

Подробнее можно прочитать здесь https://takacsmark.com/docker-logs/

...