티스토리 뷰
Ubuntu 16.04에서 시작 서비스를 등록하는 방법을 알아보자
스크립트 작성
/etc/init.d 경로에 시작할 스크립트의 경로를 작성한다. 서비스를 시작할 때 이 스크립트로 프로세스를 실행한다. 아래는 예시다.
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
PATH_TO_APP = /home/apps/app.jar
case $1 in
start)
java -jar $PATH_TO_APP --server.port=8888
;;
stop)
sudo fuser 8888/tcp -k || true
;;
restart)
sudo fuser 8888/tcp -k || true
java -jar $PATH_TO_APP --server.port=8888
;;
*) echo "Run as $0 <start|stop|restart>"; exit 1;;
esac
위 스크립트에서 ### BEGIN INIT INFO ... ### END INIT INFO 사이의 정보들은 run-time dependecy인데, 서비스의 메타데이터라고 생각하면 된다. 이 정보를 작성하는 방법은 아래의 LSB init script에 대한 문서를 참고하자.
스크립트 권한 부여
스크립트 파일을 작성했으면 권한을 부여하자.
chmod 755 /etc/init.d/testservice
서비스 등록
마지막으로 서비스를 등록하면 애플리케이션이 부팅시 자동으로 실행된다.
update-rc.d tomcat7 defaults
서비스 수동 실행 및 상태 확인
서비스를 수동으로 실행하는 방법은 systemctl 명령어를 이용하면 된다.
systemctl start testservice
start 대신 stop이나 restart를 옵션으로 주면 서비스가 멈추거나 재시작한다.
만약 서비스의 상태를 확인하고 싶다면 아래의 옵션으로 systemctl 명령어를 실행하면 된다.
systemctl list-units --type service --all
참고
http://wiki.debian.org/LSBInitScripts
'프로그래밍 > Linux' 카테고리의 다른 글
Linux계열 OS bin 폴더 종류 (0) | 2020.04.15 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- @Qualifier
- spring
- Tasklet
- mybatis
- npm
- Closure
- @Component
- nodejs
- chunk
- JavaScript
- thymeleaf 변수 인식
- thymeleaf cannot resolve
- 클로저
- unity
- Bean
- Bin
- @Bean
- Check point within polygon
- @Autowired
- MySQL
- spring batch
- Barycentric coordinates
- Express
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함