![daemonize を使用して Tomcat プロセスを常に実行し続けるにはどうすればよいですか?](https://rvso.com/image/97229/daemonize%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%20Tomcat%20%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%82%92%E5%B8%B8%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%97%E7%B6%9A%E3%81%91%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
バックグラウンド プロセスを実行し続ける方法を調べていたところ、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 をインストールする方法詳細についてはこちらをご覧ください。