개발 Note/Codes
linux daemon 만들기 (python)
하늘을 나는 미카
2025. 6. 20. 14:54
반응형
/np_lora/lora.py
import time
import logging
class LoraSetting:
gateway = ["Gateway1","Gateway2", "Gateway3" ]
def __init__(self):
logging.basicConfig(level=logging.INFO)
self.logger = logging.getLogger("gateway")
def main(self):
i = 0
while True:
self.logger.info(self.gateway[i % len(self.gateway)])
i += 1
time.sleep(1)
lora = LoraSetting()
lora.main()
np_lora.service
[Unit]
Description=Lora Setting
After=multi-user.target
[Service]
Type=forking
ExecStart=/usr/bin/python /usr/np_lora/lora.py
Restart=always
WorkingDirectory=/usr/np_lora/
ExecStop=/bin/kill $MAINPID
[Install]
WantedBy=multi-user.target
ubuntu 에 service daemon을 등록 및 실행하는 과정입니다.
lora 라는 서비스를 만들어 등록하려고 한다고 합시다.
/etc/systemd/system/np_lora.service <- 이 위치에 서비스 파일을 만듭니다.
systemctl daemon-reload <- daemon관리자를 reload해서 새로 만든 서비스 파일을 인식할 수 있도록 합니다.
# systemctl 이라는 명령을 이용하여 서비스를 enable / start/ stop 등의 상태 조절이 가능합니다.
systemctl enable np_lora <- 서비스를 enable 합니다.
systemctl start np_lora <- 서비스 스타트
systemctl stop np_lora <- 서비스 종료