Это меня уже давно беспокоит.
В моем цикле разработки 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>