Como uso o daemonize para manter sempre meu processo Tomcat em execução?

Como uso o daemonize para manter sempre meu processo Tomcat em execução?

Eu estava pesquisando como manter um processo em segundo plano em execução e me deparei com o daemonize. Esta resposta diz que posso usar o daemonize para garantir que um processo esteja sempre em execução: "Garanta que um processo esteja sempre em execução". Passei pela página de manual:http://software.clapper.org/daemonize/daemonize.html.

Ele apenas fecha stdin, stdout, stderr, alterando o diretório de trabalho para root, etc. Ele está fazendo todas as coisas que um bom processo em segundo plano deveria fazer.

A única coisa que encontrei relacionada à reinicialização foi -p pidfile para gerar o ID do processo e -l lockfile para garantir que apenas um processo seja iniciado.

Responder1

Se você não quiser usar o pacote tomcat da sua distribuição, você pode usarsistemae defina seu próprio arquivo de unidade, como:

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Leia o tutorialComo instalar o Apache Tomcat 8 no CentOS 7para obter detalhes completos.

informação relacionada