Как использовать daemonize, чтобы процесс tomcat всегда был запущен?

Как использовать daemonize, чтобы процесс tomcat всегда был запущен?

Я исследовал, как поддерживать фоновый процесс запущенным, и наткнулся на daemonize. В этом ответе говорится, что я могу использовать daemonize, чтобы гарантировать, что процесс всегда запущен: "Убедитесь, что процесс всегда запущен". Я просмотрел страницу руководства:http://software.clapper.org/daemonize/daemonize.html.

Он только закрывает stdin, stdout, stderr, меняет рабочий каталог на корневой и т. д. Он делает все то, что должен делать хороший фоновый процесс.

Единственное, что я нашел связанное с перезапуском, это -p pidfile для вывода идентификатора процесса и -l lockfile для гарантии того, что запущен только один процесс.

решение1

Если вы не хотите использовать пакет tomcat вашего дистрибутива, вы можете использоватьсистемди определите свой собственный файл модуля, например:

# 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

Прочитать руководствоКак установить Apache Tomcat 8 на CentOS 7для получения полной информации.

Связанный контент