Python을 서비스로 변환: 스크립트를 Windows 서비스로 실행
저를 포함한 많은 사람들이 작업을 자동화하고 타사 유틸리티를 위한 API를 만드는 데 Python을 즐깁니다. 하지만 안타깝게도 pywin32 라이브러리를 끌어와서 Python을 서비스로 변환하는 것은 이상적이지 않습니다. 특히 어떤 이유에서인지 pywin32가 우리가 직접 작성하지 않은 프로젝트와 충돌할 때 더욱 그렇습니다.
이 문제를 해결하는 몇 가지 유용한 유틸리티가 있습니다:
- NSSM
- WinSW.
하지만 신뢰성과 빠른 스크립트 배포가 필요할 때는 사용하기 어려울 수 있습니다. 이러한 이유로 오늘은 세 번 클릭으로 변환하고 안정성을 목표로 하는 EXE to Service에 대해 말씀드리겠습니다.
Python을 Windows 서비스로 변환하는 방법
1단계: EXE to Service 열기
EXE to Service를 설치한 후 바탕화면에 바로 가기가 나타납니다.
그래픽 인터페이스는 서비스 생성을 단순화하기 위한 것입니다.그래픽 인터페이스 없이 Windows Server를 실행하는 경우 두 가지 옵션이 있습니다:
- 일반 PC에서 서비스를 생성한 다음 서버로 전송합니다.
- 명령줄을 사용하여 서버에서 직접 EXE to Service를 실행합니다.
2단계: 새 서비스 만들기
EXE to Service에는 이미 준비된 Python to Service 예제가 포함되어 있습니다.
"예제에서 만들기" 버튼을 클릭하기만 하면 됩니다.

3단계: Python 스크립트 경로 설정
표시되는 창에서 올바른 경로를 지정해야 합니다:
- Python.exe 실행 파일 경로:기본적으로 (사용자별):
C:\Users\<사용자_이름>\AppData\Local\Programs\Python\Python<버전>\ - 작업 디렉토리:스크립트 파일이 있는 폴더를 지정합니다.
- 인수:
C:\경로\To\Your\Script.py

4단계: 서비스 저장 및 시작
"서비스 생성"을 클릭하여 Windows 서비스를 만듭니다.
이 컴퓨터에서 서비스를 즉시 시작하려면 "시작"을 클릭하세요.
이후 Python은 다음과 같이 됩니다:
- Windows 서비스로 시작
- 시스템과 함께 자동 시작
- Windows 서비스 관리자(
services.msc)를 통해 관리 가능
향후 기사에서는 메모리와 CPU 누수가 발생할 때 Python에서 중요한 상황에 대한 알림과 경고를 생성하는 방법에 대해 설명하겠습니다.
결론
Python은 원래 고급 언어로 개발되었으며 Windows 서비스에서 실행되도록 의도되지는 않았습니다. 하지만 EXE to Service와 같은 도구가 이 문제를 깔끔하게 해결합니다. .py 스크립트를 셸로 감싸면 시스템 부팅 시 실행되고, 로그아웃 후에도 지속되며, services.msc와 통합됩니다. 복잡한 해결 방법이 필요하지 않습니다.