1 (11.04.2014 16:49:22 отредактировано Mon4ik)

Добрый вечер. Возникла следующая проблема. Не отрабатывает перезапуск Tomcat процесс убивает и не запускает.
Команда в Catalina.sh

-XX:OnOutOfMemoryError=\"touch /tmp/tomcat_suicide;kill -9 %p\"

В логах при падении

# java.lang.OutOfMemoryError: Java heap space
# -XX:OnOutOfMemoryError="touch /tmp/tomcat_suicide;kill -9 %p"
#   Executing /bin/sh -c "touch /tmp/tomcat_suicide"...
#   Executing /bin/sh -c "kill -9 29010"

...

Или может я не правильно понял, pid она просто убивает, но службу не запускает?

Если например сделаю так

-XX:OnOutOfMemoryError="/home/tomcatrestart.sh"

где в sh файле будет указано

 Консоль:
#!/bin/bash
service tomcat restart

Такая штука сработает?
Стоит CentOS 6.4

2

Может и сработает, но сначала надо убить её.

3 (11.04.2014 17:18:03 отредактировано Mon4ik)

То есть это так будет?

#!/bin/bash
kill -9 p% && service tomcat start

4

Не заметил что рестарт. Попробуй.

5 (11.04.2014 17:22:37 отредактировано i2ks)

tomcat иногда не корректно останавливается, а потом не стартует, из-за того что у него висит файл tomcat.lock + java тупит.

Лучше так

 Консоль:

kill -9 `pgrep -f catalina.sh`

потом удалить файлы tomcat.pid + tomcat.lock

It is good day to die ...
MS Windows 10
Заметки о главном...

6

с sh файлом не прокатило(service tomcat restart)

/etc/init.d/tomcat: line 79: syntax error near unexpected token `('
/etc/init.d/tomcat: line 79: `            echo "...процесс завершен(pid ${wk_pid})

Простите за глупый вопрос, но где находятся эти файлы. tomcat.pid + tomcat.lock


kill -9 `pgrep -f catalina.sh`

  С данной командой он будет находить pid catalina.sh и убивать его?

7

Mon4ik пишет:

  С данной командой он будет находить pid catalina.sh и убивать его?

да

tomcat.pid + tomcat.lock ну или в корне tomcat или в /var/run/tomcat/

It is good day to die ...
MS Windows 10
Заметки о главном...

8 (11.04.2014 18:03:42 отредактировано Mon4ik)

i2ks пишет:

tomcat.pid + tomcat.lock

отсутвуют

kill -9 `pgrep -f catalina.sh`

Данную команду добавить в скрипт?
Вот не понятно как запускать(автоматически) томкат после смерти

9

Mon4ik, Я не пойму. Вам нужно отслеживать tomcat и если он отвалился (вообще нет pid) запускать его?

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

10

Мне нужно чтобы при heap space, tomcat перезапускался.