2017-11-23 2 views

답변

0

:

는 외부 프로그램을 실행하고 프로그램이 완료 될 때까지 스크립트 실행을 일시 중지합니다.

  • 사용 Run() 대신.
  • 실행이 끝나기까지 일정한 시간 동안 대기 할 수 있습니다. 예 : python.exe 파이썬 스크립트의 실행 후 활성 상태를 유지

    Global Const $g_sPathExecutable = 'path_to_python\python.exe script.py' 
    Global Const $g_sPatWdir  = 'path_to_script_file' 
    Global Const $g_iDelayExecution = 1000 * 10; 10 seconds 
    Global Const $g_iPID   = Run($g_sPathExecutable, $g_sPatWdir) 
    
    Sleep($g_iDelayExecution) 
    ProcessClose($g_iPID) 
    
  • 경우 대신 파이썬 스크립트에서 폐쇄 할 수있다.

  • 파이썬 스크립트를 실행 파일로 컴파일하고 대신 AutoIt 스크립트에서 실행하십시오 (동일한 python.exe 인스턴스가 동시에 여러 파이썬 스크립트 프로세스의 부모 역할을하는 경우).
+0

내 파이썬 스크립트가 끝날 때까지 스크립트가 실행을 일시 중지하도록합니다. 그것이 바로 지금 일어나고있는 일이지만, 파이썬 스크립트가 끝났음에도 불구하고 자동 스크립트는 실행을 다시 시작하지 않습니다. – Rahul

+0

@Rahul 파이썬 스크립트의 실행이 끝난 후에도'python.exe'가 활성화 상태를 유지합니까? – user4157124

+0

심지어 Run()을 사용하여 시도하고 PID (1860)를 인쇄하고 나중에 ProcessWaitClose ($ pid)를 사용했습니다. ProcessWaitClose() 함수에서 나오지 않고 tasklist 명령으로 확인한 결과, PID 1860이있는 프로세스가 표시되지 않습니다. 다른 PID를 담당하는 python.exe 프로세스 int 작업 목록 (다른 PID 포함)이 보이지만, 백그라운드에서 실행중인 python 스크립트. – Rahul