Назад | Перейти на главную страницу

плавное завершение процесса tomcat в Linux

Это меня уже давно беспокоит.

В моем цикле разработки JSF я много перезагружаю tomcat, а иногда и перезапускаю tomcat. Я замечаю, что иногда выключение tomcat с помощью shutdown.sh не работает, потому что при запуске через startup.sh говорится, что адрес уже используется для порта 8080. И в оболочке linux я должен сделать что-то вроде этого :

ps auwx | grep -i tomcat
kill -9 <tomcatPid>

Есть ли способ полностью завершить работу tomcat, например, службу tomcat в Windows?

В настоящее время я использую opensuse linux 11.2, и я еще не добавляю свой tomcat в свои службы. Тем не менее запуск и выключение вручную из оболочки.

Вы можете избежать двух команд, просто запустив:

pkill -f catalina

чтобы изящно убить процесс сопоставления с текстом Каталина.

И проверить, есть ли Каталина процесс все еще работает, вы можете сделать:

pgrep -fl catalina

И напоследок убить грубой силой попробуйте:

pkill -9 -f catalina

Чистый способ выключить его - kill <tomcatPid>. Это запустит процесс завершения работы JVM, включая механизм уничтожения контекста сервлета. В редких случаях JVM застревает в процессе завершения работы, и вам нужно будет использовать kill -9 <tomcatPid> убить процесс.

Так например:

ps auwx | grep -i tomcat
kill <tomcatPid>
sleep 10   # This value is dependent how long it takes for your app to shut down
ps auwx | grep -i tomcat
if tomcat is still alive
    kill -9 <tomcatPid>