-
python 으로 window service 관리python/기타 2021. 10. 6. 17:08
최근 윈도우 웹서버에서 apache 서비스가 자꾸 죽는 경우가 생겨서
python 으로 window 서비스를 정지, 시작, 재시작 프로그램을 작성하였습니다.필요 모듈로는 pywin32, requests
pip install pywin32 pip install requests
을 이용해서 설치합니다.
import requests import win32serviceutil r = requests.get('http://www.aaa.com', timeout=10) # 응답이 없거나 200 이 아니면 재시작 if r.status_code != 200 : try: win32serviceutil.QueryServiceStatus(serviceName) except Exception as e: print("그런 서비스가 없습니다.") else: win32serviceutil.RestartService(serviceName)
참고로 serviceName 은 서비스 관리자에서 나타나는 서비스명입니다.
win32serviceutil.QueryServiceStatus('apache2.4') 했을 때 튜플로 7개의 인자가 반환되는데
그중 2번째 값이 현재 서비스의 실행상태 입니다.값이 1이면 정지상태 4이면 실행중입니다.
이 값을 이용하여 서비스가 실행중이면 win32serviceutil.RestartService(serviceName)
정지중이면 win32serviceutil.StartService(serviceName) 을 사용하면 되겠습니다.
반응형'python > 기타' 카테고리의 다른 글
Python 에서 ADB 제어하기 - 1 (0) 2021.12.07 python 으로 웹페이지 전체 캡춰(스크롤 캡춰) 하기 (0) 2021.11.25 Split The Screen - 창 분할 프로그램 (0) 2021.11.24 [AutoRealod] 자동 새로고침 프로그램 (0) 2021.11.03 python pyQt5 모니터 관련 함수 (0) 2021.10.22