답변:
시스템에 로그인 하지 않거나 서비스 를 시작하기 전에 (예 : "부팅") 서비스를 실행하려면 시작 스크립트를 작성하여 부팅 순서에 추가해야합니다.
서비스 스크립트에는 시작, 중지 및 다시 시작의 세 부분이 있습니다.
서비스 스크립트의 기본 구조는 다음과 같습니다.
#!/bin/bash
#
RETVAL=0;
start() {
echo “Starting <Service>”
}
stop() {
echo “Stopping <Service>”
}
restart() {
stop
start
}
case “$1″ in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $”Usage: $0 {start|stop|restart}”
exit 1
esac
exit $RETVAL
스크립트를 원하는대로 조정하고 나면 /etc/init.d/에 스크립트를 넣고
시스템 서비스 시작 프로세스에 추가하십시오 (Fedora에서는 Ubuntu 사용자가 아닙니다.> D).
chkconfig -add <ServiceName>
서비스는 시스템 부팅 프로세스에 추가되며 수동으로 다시 시작할 필요가 없습니다.
건배!
init 시스템에 따라 init 스크립트를 다르게 작성합니다. Fedora는 시작 및 시스템 선택과 SysV 호환성을 제공합니다.
/etc/init/custom-tomcat.conf
안에 넣다:
start on stopped rc RUNLEVEL=3
respawn
exec /path/to/your/tomcat --and --parameters
그리고 Tomcat은 시스템 시작시 시작해야합니다.
/etc/systemd/system/custom-tomcat.service
안에 넣다:
[Service]
ExecStart=/path/to/your/tomcat --and --parameters
Restart=always
[Install]
WantedBy=multi-user.target
를 사용하여 서비스를 활성화하십시오 systemctl enable custom-tomcat.service
. 부팅 할 때마다 시작됩니다.
물론 두 초기화 시스템 모두에 대한 구성 옵션이 더 적으므로 설명서에서 구성 옵션을 확인할 수 있습니다.
Tomcat은 상당히 일반적인 서비스이므로 이미 배포판에서 제공하는 init 스크립트를 보는 것이 좋습니다. 거의 또는 전혀 조정하지 않고도 사용자 정의 된 바이너리와 함께 작동 할 수 있습니다.
cron
데몬 이있는 경우 사전 정의 된 cron 시간 후크 중 하나 @reboot
는 시스템 시작시 자연스럽게 실행됩니다. 파일 crontab -e
을 편집 crontab
하고 행을 추가 하려면 실행하십시오 .
@reboot /your/command/here
다음과 같이보다 정교한 스크립트를 작성하여 특정 사용자의 권한으로 실행할 수 있습니다.
#!/bin/sh
NAME=myservice
DESC="My Service"
USERGROUP="myservice:myservice"
#Helper functions
start() {
start-stop-daemon --start --quiet --background --make-pidfile \
--pidfile /var/run/$NAME.pid --chuid $USERGROUP \
--exec /usr/local/bin/myservice
}
stop() {
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--exec myservice --retry 30
}
case "$1" in
start)
echo -n "Starting $DESC: "
start
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
stop
echo "$NAME."
;;
restart)
echo -n "Restarting $DESC: "
#set +e
stop
#set -e
#sleep 1
start
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
스크립트는 /etc/init.d/myservice에 들어가며 다음을 실행하여 서비스를 시작합니다.
/etc/init.d/myservice start
작동 방법을 이해하려면 start-stop-daemon의 매뉴얼 페이지를 읽으십시오.
우분투 또는 데비안에서 사용할 수있는 것처럼
update-rc.d your_service defaults
제거
update-rc.d -f your_service remove
안녕! \영형
함수 상태와 강제 재로드를 LSB- 컴파일러로 구현하는 것이 좋습니다.
service --status-all
목록에 표시하는 방법 ?