Tomcatプロセスを常に実行するためにdaemonizeを使用する方法は?

Tomcatプロセスを常に実行するためにdaemonizeを使用する方法は?

バックグラウンドプロセスを引き続き実行する方法を研究している間にデーモンが見つかりました。この答えは、daemonizeを使用してプロセスが常に実行されるようにすることができると言います。プロセスが常に実行されていることを確認してください。「マンページを見ました。http://software.clapper.org/daemonize/daemonize.html

stdin、stdout、stderrだけを閉じて作業ディレクトリをルートに変更するなどの操作を実行します。これは、良いバックグラウンドプロセスが実行する必要があるすべてのことを行います。

再起動に関して私が見つけた唯一のことは、プロセスIDを出力する-p pidfileと、1つのプロセスだけが起動されたことを確認する-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をインストールする方法詳細を確認してください。

関連情報