백그라운드 프로세스를 계속 실행하는 방법을 연구하던 중 데몬을 발견했습니다. 이 답변은 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을 설치하는 방법자세한 내용을 확인하세요.