2016-12-29 1 views
0

나는 cmd 라인에서 Windows 서버 2008에서 실행되는 python 스크립트가 있습니다. 스크립트 실행 중에는 어떤 상호 작용이 필요하지 않습니다. 그런데 스크립트는 약 일주일 동안 실행됩니다. 따라서 서버가 어떤 이유로 내 연결을 끊으면 스크립트가 중단되고 계속해서 다시 시작해야합니다. 저에게 큰 고난이며이 문제를 해결하는 방법을 모르겠습니다.Windows backround에서 python 스크립트를 실행하는 방법은 무엇입니까?

여기 내 질문입니다.

Windows 서버에서 backround에서 python 스크립트를 실행하는 방법 사용자가 서버에서 연결을 끊어도 어떻게됩니까?

미리 도움을 주셔서 감사합니다.

+0

이것은 백그라운드에서 실행되는 데몬 프로세스에 대한 질문입니다. 당신은 그것을 google해야한다. –

+0

http://stackoverflow.com/questions/7629813/is-there-windows-analog-to-supervisord – sau

답변

1

내 솔루션은 Windows에서 수행 할 수 있습니다 (https://github.com/fomalhaut88/pydaemon). 필요한 것은 스크립트에서 함수를 실행하는 클래스를 만드는 것입니다. 이 접근 방식의 장점은 다른 많은 데몬 프로세스를 추가하고 pydaemon을 통해이를 제어 할 수 있다는 것입니다. 너무 무거운 당신을 위해 복잡하게 보이는 경우가 실패 할 경우

, 당신은 중단을 방지하기 위해 무한 루프로 스크립트를 래핑 수 있습니다

# yourscript.py 
while True: 
    try: 
     ... # doing your stuff 
    except: 
     pass 

하면 다음 명령을 사용할 수 있습니다 배경에를 시작하려면 :

start /MIN "" python yourscript.py 
0

실행중인 창을 숨기시겠습니까?

파이썬 스크립트를 실행하려면 vbs 스크립트를 작성하십시오. 파일을 이름 start.vbs

Set ws = CreateObject("Wscript.Shell") 
    ws.run "cmd /c python your_python_script.py",0 

만들기 그럼 당신은 두 번 스크립트 backround의를 실행하는 start.vbs을 클릭 할 수 있습니다.

+0

스크립트를 종료하기 위해 작성할 수있는 VBS는 무엇입니까? –

0

AWS 인스턴스를 회전시켜보다 안정적인 서버에서 실행하십시오. 또는 여러 fail-safe 서버에서 코드를 처리하기 위해 hadoop을 조사 할 수 있습니다.