티스토리 뷰

반응형

systemd는 Linux의 초기 프로세스인 init를 대체하여 서비스 관리 등의 역할을 하는 시스템 및 서비스 관리자입니다. systemd를 이용하여 서비스를 등록하려면, systemd 서비스 유닛 파일을 만들어야 합니다. 이는 일반적으로 /etc/systemd/system 디렉토리에 위치합니다.

아래는 기본적인 systemd 서비스 유닛 파일 생성 방법입니다:

1. 새로운 systemd 서비스 파일을 만듭니다. 

파일 이름은 보통 '[서비스명].service' 형태를 가집니다. (예를 들어, 'my_service.service'라는 이름으로 파일을 만들 수 있습니다.)

sudo vi /etc/systemd/system/my_service.service

2. 아래와 같이 서비스 파일에 내용을 입력합니다.

[Unit]
Description=My Service
After=network.target

[Service]
ExecStart=/usr/bin/python /path/to/my_service.py
Restart=always
User=username
Group=group
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NAME=VALUE

[Install]
WantedBy=multi-user.target

각 섹션의 의미는 다음과 같습니다:

Unit: 서비스 설명 및 해당 서비스가 의존하는 유닛을 지정합니다.
Service: 서비스 실행에 관련된 다양한 설정을 지정합니다. ExecStart는 서비스가 시작될 때 실행되는 명령어를 지정합니다.
Install: 'systemctl enable' 명령을 사용하여 서비스를 활성화했을 때 어떤 동작을 해야 하는지를 지정합니다.

3. systemd에게 새로운 서비스 파일이 추가되었음을 알립니다.

sudo systemctl daemon-reload

4. 서비스를 시작합니다.

sudo systemctl start my_service

5. 서비스가 제대로 작동하는지 확인합니다.

sudo systemctl status my_service

6. 부팅 시에도 자동으로 시작하게 하려면, 서비스를 활성화합니다.

sudo systemctl enable my_service


이렇게 하면 systemd를 통해 서비스를 등록하고 관리할 수 있습니다. 서비스를 중지하거나 재시작하려면 'systemctl stop [서비스명]', 'systemctl restart [서비스명]' 명령을 사용할 수 있습니다.

기억하실 점은 위의 설정은 예시이며, 실제 서비스의 내용에 따라 설정이 달라질 수 있다는 것입니다. 서비스가 어떤 작업을 수행하는지, 어떤 환경에서 실행되어야 하는지 등에 따라 적절한 설정을 선택해야 합니다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함