encerrando o processo do tomcat sem problemas no Linux

4

Isso está me incomodando há algum tempo.

No meu ciclo de desenvolvimento do JSF, faço muita recarga do tomcat e às vezes a ponto de reiniciar o tomcat. Percebo que às vezes, desligar o tomcat usando shutdown.sh não funciona, porque ao iniciá-lo via startup.sh diz que o endereço já está em uso para a porta 8080. E no shell linux, eu tenho que fazer algo parecido com isto :

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

Existe alguma maneira de desligar o Tomcat de forma limpa, como o serviço tomcat no Windows?

Atualmente estou usando o opensuse linux 11.2 e ainda não adiciono meu tomcat aos meus serviços. Ainda iniciando e desligando manualmente a partir do shell.

    
por bertie 05.04.2011 / 06:55

2 respostas

5

Você pode evitar 2 comandos simplesmente executando:

pkill -f catalina

para matar a correspondência de processos com o texto catalina .

E para verificar se o processo catalina ainda está em execução, você pode fazer:

pgrep -fl catalina

E, finalmente, para matar com força bruta, tente:

pkill -9 -f catalina
    
por 05.04.2011 / 15:08
0

A maneira limpa de desligá-lo é kill <tomcatPid> . Isso iniciará o processo de encerramento da JVM, incluindo o mecanismo de destruição do contexto do servlet. Em raras ocasiões, a JVM ficará presa no processo de desligamento e você precisará usar kill -9 <tomcatPid> para eliminar o processo.

Então, por exemplo:

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>
    
por 05.04.2011 / 14:53

Tags