отслеживать программу / процесс работает в Ubuntu - PullRequest
0 голосов
/ 26 октября 2018

Мне нужно найти способ отследить, что запущена программа P. Моя программа находится в Docker-контейнере Ubuntu, это Java-программа. Мне нужна другая программа, чтобы периодически сообщать мне, что моя программа P запущена. Если мне не удастся отправить это сообщение, мне придется перезапустить программу. Есть ли способ узнать это? Мы боимся, что программа или контейнер Docker могут перестать работать и повлиять на работу пользователя.

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

вы можете настроить политику перезапуска на контейнере Docker, поэтому, если java обнаружит исключение и завершит работу, он автоматически попытается перезапустить контейнер.

В команде docker run просто добавьте --restart unless-stopped, таким образом, он всегда будет пытаться перезапустить, если команда docker не отправила команду остановки.

Более подробную информацию об этой функции можно найти по адресу: https://docs.docker.com/config/containers/start-containers-automatically/#restart-policy-details

0 голосов
/ 29 октября 2018

Хотя вопрос в том, чтобы ответить на него широко, я постараюсь предложить несколько решений.

Прежде всего, если ваш java процесс «не удастся», контейнер завершит свою работу.Основываясь на этом, вы можете определить, работает ли ваше приложение, просто выполнив docker ps.

. Если вам нужно какое-то рукописное решение, вы можете внедрить в приложение конечную точку проверки работоспособности и периодически нажимать ее, чтобы убедиться, что приложениеработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...