Если вы пытаетесь определить, когда Tomcat умер, убедитесь, что он действительно остановлен (т. Е. Больше не работает), а затем перезапустите процесс, вашей лучшей ставкой будет какой-то процесс сердцебиения. Вы можете написать сценарий оболочки для запуска в том же окне, что и Tomcat, который периодически отправляет веб-запрос на определенный URL-адрес. Если он получает ожидаемое значение, то все в порядке, но если нет, то он выдаст команду kill, подождет и перезапустит - или отправит вам электронное письмо, предпримет другие действия и т. Д. Вы хотите убедиться, что этот процесс не Это демоновый поток, запущенный Tomcat по причинам, указанным выше (в некоторых случаях они продолжают работать). Скорее, я бы настроил его как скрипт, который будет запускаться как задание cron каждую минуту.
Конечно, если вы работаете в AWS EC2, было бы лучше иметь крошечный экземпляр, который выполняет этот мониторинг за вас. Когда он обнаруживает, что сервер Tomcat умер, он убивает весь этот экземпляр EC2 и запускает новый, чтобы заменить его. AWS имеет инструменты командной строки, которые вы можете использовать в сценариях для достижения такого типа управления. Это может быть даже лучшим решением, потому что тогда вы начинаете с чистого листа, поэтому любые изменения (например, уничтоженные файлы) будут восстановлены, когда вы присоедините том EBS или образ машины с вашим исходным образом сервера. Описанный выше метод (запуск сценария на том же сервере) не сможет легко обнаружить и исправить отсутствующие файлы или другие изменения, которые изначально привели к тому, что все пошло наперекосяк.