Tomcat не остановится и не перезапустится

Я попытался остановить tomcat. Это не удалось с этим сообщением:

  • Tomcat не остановился вовремя. Файл PID не был удален.

затем я попробовал еще раз и получил вот это:

  • PID-файл (/opt/tomcat/work / catalina.pid) найдено, но не соответствует процесс был найден. Остановка прервана.

затем я попытался запустить Tomcat в режиме отладки и получил это:

  • PID-файл (/opt/tomcat/work / catalina.pid) найдено. Это Котяра до сих пор бежать? Начало прервано.

Я их удалил /opt/tomcat/work / catalina.pid и попытался перезапустить и получил это:

  • $CATALINA_PID был установлен (/opt/tomcat/work / catalina.пид) но указанный файл не существует. Это Tomcat работает? Остановка прервана.

кто-нибудь знает, как перезапустить tomcat?

8 ответов


у меня было это сообщение об ошибке, запустив второй сервер Tomcat на сервере Linux.

$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted.

при запуске 2nd Tomcat я установил CATALINA_PID, как просил, но моя ошибка заключалась в том, чтобы установить его в каталог (я предполагал, что Tomcat напишет имя файла по умолчанию там с pid).

исправление состояло в том, чтобы просто изменить мой CATALINA_PID, чтобы добавить имя файла в конец (я выбрал catalina.пид из приведенных выше примеров). Затем я пошел в справочник и сделал просто:

touch catalina.pid

создание пустого файла с правильным именем. Затем, когда я сделал shutdown.sh я получил ответное сообщение:

PID file is empty and has been ignored.
Tomcat stopped.

у меня не было возможности убить Tomcat, поскольку JVM использовался, поэтому я был рад, что нашел это.


кажется, Tomcat был фактически остановлен. Я начал, и все началось хорошо. Спасибо всем.


вы можете перейти на месте ${CATALINA_HOME}/журналы/ открой Каталину.пид-регулятор. Здесь мы получим pid. затем завершите процесс. kill -9 pid


недавно я встречал несколько раз остановки аномальной. Хотя shutdown.sh предоставляет некоторую информацию, ситуации:

  • результат команды ps -ef| grep java равно Null.
  • результат команды ps -ef| grep java не null.

мое мнение просто убить процесс Catalina и удалить файл pid (в вашей ситуации /opt/tomcat/work/catalina.пид-регулятор.)

результат, кажется, не так серьезно влияет на других.


убедитесь, что Tomcat не запущен в данный момент и файл PID удален. Их вы должны запустить Tomcat успешно.

если ты начнешь тут:

  1. создать на <CATALINA_HOME>/bin.
  2. в нем я поставил CATALINA_PID=/tmp/tomcat.pid (или другой каталог по вашему выбору), чтобы у вас было больше контроля над процессом Tomcat.

затем, чтобы начать Tomcat find catalina.sh на <CATALINA_HOME>/bin и выполнить:

./catalina.sh start

и остановить его беги:

./catalina.sh stop 10 -force

С catalina.sh сценарий док:

./catalina.sh

Usage: catalina.sh ( commands ... )
commands:

start             Start Catalina in a separate window
stop              Stop Catalina, waiting up to 5 seconds for the process to end
stop n            Stop Catalina, waiting up to n seconds for the process to end
stop -force       Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
stop n -force     Stop Catalina, wait up to n seconds and then use kill -KILL if still running

Примечание: Если вы хотите использовать установка флага CATALINA_PID является обязательным.


вы всегда можете попытаться убить процесс, если вы видите такие проблемы. Вы можете получить идентификатор процесса из PS или из PID-файла и убить процесс.


вы попробуйте $ sudo ./catalina.sh stop? В моем случае это сработало.


первая --> rm catalina.engine

затем -->./startup.sh

следующий раз, когда вы перезагрузите --> ./shutdown.sh -force