-
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