
	                	                 
서비스를 다시 시작하는 방법은 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