개발 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 <- 서비스 종료