![Como uso o daemonize para manter sempre meu processo Tomcat em execução?](https://rvso.com/image/97229/Como%20uso%20o%20daemonize%20para%20manter%20sempre%20meu%20processo%20Tomcat%20em%20execu%C3%A7%C3%A3o%3F.png)
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.