Notice
Recent Posts
Recent Comments
Link
SeouliteLab
파이썬 데몬 프로세스 관리하기: python-daemon 라이브러리 활용하기 본문
python-daemon은 파이썬에서 데몬 프로세스를 생성하고 관리하는 데 사용되는 라이브러리입니다. 데몬 프로세스는 백그라운드에서 동작하며 주로 시스템 서비스나 백그라운드 작업을 수행하는 프로세스입니다. 이번에는 python-daemon 라이브러리를 사용하여 파이썬에서 데몬 프로세스를 만들고 관리하는 방법에 대해 알아보겠습니다.
예제 1: 간단한 데몬 프로세스 만들기
import daemon
def run():
while True:
# 데몬 프로세스가 실행할 작업 수행
pass
# 데몬 컨텍스트 생성
with daemon.DaemonContext():
run()
위 예제는 python-daemon을 사용하여 간단한 데몬 프로세스를 만드는 방법을 보여줍니다. DaemonContext
를 사용하여 데몬 프로세스의 컨텍스트를 설정하고, run()
함수를 무한 루프로 실행하여 데몬이 동작하도록 합니다.
예제 2: 로그 파일 작성하기
import daemon
def run():
with open('daemon.log', 'w') as f:
while True:
# 데몬 프로세스가 실행할 작업 수행
f.write("데몬 프로세스 동작 중...\n")
with daemon.DaemonContext(stdout=open('daemon.log', 'w+')):
run()
이 예제는 python-daemon을 사용하여 로그 파일을 작성하는 방법을 보여줍니다. stdout
을 로그 파일에 연결하여 데몬 프로세스의 출력을 파일에 기록합니다.
예제 3: 데몬 프로세스 종료 시그널 처리하기
import daemon
import signal
import sys
def run():
signal.signal(signal.SIGTERM, signal_handler)
while True:
pass
def signal_handler(signal, frame):
print('데몬 프로세스 종료됨')
sys.exit(0)
with daemon.DaemonContext():
run()
위 예제는 python-daemon을 사용하여 데몬 프로세스가 종료될 때 시그널을 처리하는 방법을 보여줍니다. signal.signal()
함수를 사용하여 SIGTERM
시그널을 처리하고, 시그널 핸들러에서 프로세스 종료 로직을 정의합니다.
python-daemon을 사용하면 파이썬으로 간단하고 안정적인 데몬 프로세스를 만들 수 있습니다.