Tomcat 프로세스를 항상 실행하기 위해 daemonize를 사용하는 방법은 무엇입니까?

Tomcat 프로세스를 항상 실행하기 위해 daemonize를 사용하는 방법은 무엇입니까?

백그라운드 프로세스를 계속 실행하는 방법을 연구하던 중 데몬을 발견했습니다. 이 답변은 daemonize를 사용하여 프로세스가 항상 실행되도록 할 수 있다고 말합니다.프로세스가 항상 실행되고 있는지 확인하십시오.". 맨페이지를 살펴봤습니다.http://software.clapper.org/daemonize/daemonize.html.

stdin, stdout, stderr만 닫고 작업 디렉토리를 루트로 변경하는 등의 작업을 수행합니다. 이는 좋은 백그라운드 프로세스가 수행해야 하는 모든 작업을 수행합니다.

다시 시작과 관련하여 내가 찾은 유일한 것은 프로세스 ID를 출력하는 -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

튜토리얼 읽기CentOS 7에 Apache Tomcat 8을 설치하는 방법자세한 내용을 확인하세요.

관련 정보