배치 파일에서 프로그램을 실행하면, 당신은 그것을 실행 중과는 배치 파일에서 다음 명령을 실행하기 전에 종료 할 때까지 기다리거나 시작 프로그램을 바로 실행하면 배치 파일에서 계속 . 프로그램이 실행되는 시간을 측정 할 방법이 없습니다. 그러나 특정 기술을 사용하여 프로그램이 실행 중인지 확인하고 종료 할 수 있습니다. 지연을 삽입 할 수도 있습니다. 그래서 당신은 당신이 (다소)을 요구하고 무엇을 할 수 :
cls
start program.exe
ping -n 10 -w 1000 127.0.0.1 > nul 2>&1
tasklist | find /i "program.exe"
if %errorlevel%==0 taskkill /im program.exe
이는 ping
프로그램을 시작하고 즉시 코드의 다음 줄을 실행하기 시작합니다. ping
은 10 초 지연을 초래합니다. tasklist
명령은 목록을 프로그램을 찾는 find
으로 파이프합니다. 목록에서 발견되면 아직 실행 중이며 errorlevel
은 0
으로 설정됩니다. 이는 다음 행이 프로그램을 종료 함을 의미합니다. program.exe
다음, tasklist
공통 프로그램 이름이고 taskkill
이 같은 프로그램 이름을 가진 모든 프로세스를 종료 할 경우 때문,하지만 바보 같은 증거되지
(다만 인스턴스는 시작).
무엇을 모니터링하려고합니까, 배치 파일이 실행되는 시간 또는'program.exe '가 실행되는 시간입니까? * 10 초 *를 초과하면 '중단'은 무엇을 의미합니까 - 배치 파일을 종료 하시겠습니까, 아니면 'program.exe'를 종료 하시겠습니까? 그리고 '무한 루프의 라인'은 무엇을 의미합니까? –
나는'program.exe'가 실행되는 시간을 의미했습니다. program.exe를 종료하고 배치 파일의 다음 줄에서 실행하십시오. '무한 루프의 행 '은 프로그램에서 무한한 상태가 발생한 곳을 암시한다. – Brucevilla
이 질문은 단지 하나의'program.exe '에 대한 ridiculus 일지 모르지만 배치 파일에서 for 루프로 실행되는 둘 이상의'program.exe'가있는 경우 유용합니다. 어떤'program.exe'는 무한 루프를 가지고 있을지도 모르기 때문에. – Brucevilla