Подтвердить что ты не робот

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

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

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

Затем я снова попробовал и получил следующее:

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

Затем я попытался запустить tomcat в режиме отладки и получил следующее:

  • найден PID файл (/opt/tomcat/work/catalina.pid). Является ли Tomcat еще Бег? Начать отмену.

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

  • $CATALINA_PID был установлен (/opt/tomcat/work/catalina.pid), но указанный файл не существует. Работает ли Tomcat? Прекратите отмену.

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

4b9b3361

Ответ 1

Кажется, что Томкат фактически остановился. Я начал его, и все началось нормально. Спасибо всем.

Ответ 2

У меня появилось это сообщение об ошибке, начав второй сервер Tomcat на сервере Linux.

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

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

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

touch catalina.pid

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

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

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

Ответ 3

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

Если вы начинаете новый, то:

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

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

./catalina.sh start

и остановить его выполнение:

./catalina.sh stop 10 -force

От catalina.sh script doc:

./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

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

Ответ 4

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

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

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

Попробуйте $ sudo ./catalina.sh stop? Он работал в моем случае.

Ответ 8

FIRST → rm catalina.engine

THEN → ./startup.sh

СЛЕДУЮЩЕЕ ВРЕМЯ, вы перезапустите → ./shutdown.sh -force

Ответ 9

иногда, если тот же pid работает после перезагрузки, tomcat не запускается

мой файл pid был в apache-tomcat/temp/tomcat.pid

 change file apache-tomcat/bin/catalina.sh about line 386 
 from "ps -p $PID >/dev/null 2>&1"
 to "ps -fp $PID |grep catalina >/dev/null 2>&1"

выдержка из файла catalina.sh

 if [ ! -z "$CATALINA_PID" ]; then
    if [ -f "$CATALINA_PID" ]; then
      if [ -s "$CATALINA_PID" ]; then
        echo "Existing PID file found during start."
        if [ -r "$CATALINA_PID" ]; then
          PID='cat "$CATALINA_PID"'
          ps -fp $PID |grep catalina >/dev/null 2>&1  #this line
          if [ $? -eq 0 ] ; then
            echo "Tomcat appears to still be running with PID $PID. Start aborted."
            echo "If the following process is not a Tomcat process, remove the PID file and try again:"
            ps -f -p $PID
            exit 1
          else
            echo "Removing/clearing stale PID file."
            rm -f "$CATALINA_PID" >/dev/null 2>&1
            if [ $? != 0 ]; then
              if [ -w "$CATALINA_PID" ]; then
                cat /dev/null > "$CATALINA_PID"
              else
                echo "Unable to remove or clear stale PID file. Start aborted."
                exit 1
              fi
            fi
          fi
        else
          echo "Unable to read PID file. Start aborted."

Ответ 10

В вашем случае отсутствует catalina.pid.

Этот файл находится в каталоге {your_jira_dir}/work/catalina.pid и содержит pid текущего экземпляра jira.

так

ps aux | grep jira
  • найти правильную запись
  • Скопируйте PID вывода и создайте файл, который содержит только этот PID. - Убедитесь, что он может быть прочитан и записан пользователем, который запускает jira.
  • Попробуйте отключить Jira снова.

Ответ 11

В моем случае tomcat.pid находится в /opt/tomcat/temp/. Пытался удалить его вручную. Все еще не работал. После проверки setnev.sh в /opt/tomcat/bin/обратите внимание, что есть строка кода для определения JAVA_HOME:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre

Закомментировал эту строку, перезапустите Tomcat. Оно работает! Так как я сделал ням-обновление и новую минорную версию обновления Java, начиная с 1.8.0.212 до 1.8.0.222. Извлеченные уроки: жесткого кода следует избегать.

Ответ 12

sudo systemctl stop tomcat

сделал это для меня