728x90
CentOS 7에서 서비스를 쉘스크립트를 기반으로 생성하고 실행하는 방법에 대해서 설명합니다.
지난 글에서 쉘스크립트에 start/stop/restart를 통해 실행하는 방법을 설명했습니다.
서버가 실행될 때 특정 쉘스크립트를 자동으로 실행하기 이해서는 /etc/rc.local 에 등록하여 자동으로 실행할 수 있습니다. 하지만, 해당 쉘을 종료하거나 상태를 확인할 수 없습니다. 이런 상황에서는 쉘스크립트를 서비스로 등록하여 사용하면 됩니다.
서비스 생성하기
아래의 코드와 같이 서비스를 생성합니다.
[root@localhost ~]# vi /etc/systemd/system/myservice.service
[Unit]
Description=My Service
After=network.target
[Service]
Type=simple
PIDFile=/var/run/tunnel.pid
ExecStart=/root/myservice.sh start
ExecStop=/root/myservice.sh stop
ExecRestart=/root/myservice.sh restart
Restart=on-failure
[Install]
WantedBy=multi-user.target
서비스의 내용이 변경되었다면 다음 명령을 실행하여 시스템에 재반영합니다.
[root@localhost ~]# systemctl daemon-reload
등록된 서비스 목록은 다음명령으로 확인 가능합니다.
[root@localhost ~]# systemctl list-unit-files
서비스 등록/실행/종료/재시작
아래의 명령을 수행하면 서비스에 등록된 각 명령(ExecStart, ExecStop, ExecRestart)가 실행됩니다.
[root@localhost ~]# systemctl enable myservice
[root@localhost ~]# systemctl start myservice
[root@localhost ~]# systemctl stop myservice
[root@localhost ~]# systemctl restart myservice
참고자료
- [CentOS] Linux Service 등록하는 방법
holjjack.tistory.com/172 - CentOS7 Service 만들기
jjig810906.tistory.com/11 - How to use a parameter in ExecStart command line?
stackoverflow.com/questions/21502264/how-to-use-a-parameter-in-execstart-command-line
728x90
'Tips, Tricks > Server, Windows, Linux' 카테고리의 다른 글
Nginx에서 WebSocket 사용하기(Using WebSocket with Nginx) (0) | 2021.09.30 |
---|---|
Automatic .bat file execution when Windows starts(윈도우 시작시 자동으로 bat파일 실행하기) (0) | 2021.03.26 |
.bat without cmd window(CMD창 없이 .bat 파일 실행하기) (0) | 2021.03.26 |
Linux Shell Script with start/stop(시작/종료 쉘스크립트 만들기) (0) | 2021.03.26 |
Install NginX on CentOS 7(CentOS 7에 NginX 설치하기) (0) | 2021.03.26 |