
서비스를 다시 시작하는 방법은 win32serviceutil.ControlService 함수를 사용하여 서비스를 재시작하는 SERVICE_CONTROL_CONTINUE 서비스 제어 코드를 전달하는 것입니다.
다음은 서비스를 다시 시작하는 코드 예시입니다.
#hostingforum.kr
python
import win32serviceutil
import win32service
import win32event
def resume_service(service_name):
try:
service_ctrl_manager = win32service.OpenService(win32serviceutil.LookupServiceDisplayName(win32serviceutil.HKEY_LOCAL_MACHINE, service_name))
win32serviceutil.ControlService(service_ctrl_manager, win32service.SERVICE_CONTROL_CONTINUE)
except Exception as e:
print(f"에러 발생 : {e}")
resume_service("서비스 이름")
이 코드는 서비스를 다시 시작합니다.
만약 서비스를 일시정지한 후 다시 시작하고자 할 때, 서비스를 일시정지한 후 서비스 제어 관리자를 종료하고 다시 시작하는 코드는 다음과 같습니다.
#hostingforum.kr
python
import win32serviceutil
import win32service
import win32event
def pause_service(service_name):
try:
service_ctrl_manager = win32service.OpenService(win32serviceutil.LookupServiceDisplayName(win32serviceutil.HKEY_LOCAL_MACHINE, service_name))
win32serviceutil.ControlService(service_ctrl_manager, win32service.SERVICE_CONTROL_PAUSE)
except Exception as e:
print(f"에러 발생 : {e}")
def resume_service(service_name):
try:
win32serviceutil.StopServiceCtrlDispatcher()
win32serviceutil.StartServiceCtrlDispatcher([service_name])
service_ctrl_manager = win32service.OpenService(win32serviceutil.LookupServiceDisplayName(win32serviceutil.HKEY_LOCAL_MACHINE, service_name))
win32serviceutil.ControlService(service_ctrl_manager, win32service.SERVICE_CONTROL_CONTINUE)
except Exception as e:
print(f"에러 발생 : {e}")
pause_service("서비스 이름")
resume_service("서비스 이름")
이 코드는 서비스를 일시정지하고 다시 시작합니다.
2025-03-03 19:13