¿Cómo uso daemonize para mantener siempre en ejecución mi proceso Tomcat?

¿Cómo uso daemonize para mantener siempre en ejecución mi proceso Tomcat?

Estaba investigando cómo mantener un proceso en segundo plano en ejecución y encontré daemonize. Esta respuesta dice que puedo usar daemonize para asegurar que un proceso esté siempre ejecutándose: "Asegúrese de que un proceso esté siempre en ejecución". Revisé la página de manual:http://software.clapper.org/daemonize/daemonize.html.

Solo cierra stdin, stdout, stderr, cambia el directorio de trabajo a raíz, etc. Está haciendo todas las cosas que debería hacer un buen proceso en segundo plano.

Lo único que encontré relacionado con el reinicio fue -p pidfile para generar la identificación del proceso y -l lockfile para asegurarme de que solo se inicie un proceso.

Respuesta1

Si no desea utilizar el paquete Tomcat de su distribución, puede utilizarsistemady defina su propio archivo de unidad 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

Lee el tutorialCómo instalar Apache Tomcat 8 en CentOS 7para más detalles.

información relacionada