시스템에 로그인하기 전에 프로세스를 실행해야 합니다. 어떻게 서비스처럼 실행할 수 있나요? Linux에서 서비스를 만드는 방법은 무엇입니까?
우분투와 페도라에서? 이 서비스는 Tomcat에 맞게 맞춤화되었습니다.
답변1
서비스 실행없이 또는 이전에시스템에 로그인한 후(예: "부팅 시") 시작 스크립트를 생성하여 시작 순서에 추가해야 합니다.
서비스 스크립트는 시작, 중지, 다시 시작의 세 부분으로 구성됩니다.
서비스 스크립트의 기본 구조는 다음과 같습니다.
#!/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>
서비스가 시스템 시작 프로세스에 추가되므로 수동으로 다시 시작할 필요가 없습니다.
건배!
답변2
초기화 시스템에 따라 다양한 방법으로 초기화 스크립트를 생성할 수 있습니다. 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
. 모든 일반 부팅에서 시작됩니다.
물론 두 init 시스템에는 더 많은 구성 옵션이 있으며 해당 설명서에서 확인할 수 있습니다.
답변3
Tomcat은 상당히 일반적인 서비스이므로 배포판에서 이미 제공한 init 스크립트를 살펴보는 것이 좋습니다. 거의 또는 전혀 조정할 필요 없이 사용자 정의 바이너리에서 작동할 가능성이 높습니다.
답변4
컴퓨터가 시작된 후 사용자가 로그인하기 전에 간단히 스크립트를 실행하려면 이 작업을 정확하게 해결하도록 설계된 /etc/rc.local 스크립트를 간단히 편집하면 됩니다.