如何使用 daemonize 来始终保持 Tomcat 进程运行?

如何使用 daemonize 来始终保持 Tomcat 进程运行?

我正在研究如何保持后台进程运行,并且遇到了守护进程。这个答案说我可以使用 daemonize 来确保进程始终运行:“确保进程始终运行“。我浏览了手册页:http://software.clapper.org/daemonize/daemonize.html

它只关闭 stdin、stdout、stderr、将工作目录更改为 root 等。它正在执行一个好的后台进程应该执行的所有操作。

我发现与重新启动相关的唯一一件事是 -p pidfile 用于输出进程 id 和 -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

阅读教程如何在 CentOS 7 上安装 Apache Tomcat 8了解完整详情。

相关内容