2012-02-17 3 views
1

이 질문에 이전에 물어볼 것이지만 자신의 상황과 정확히 일치하는 것을 찾을 수 없다면 사과드립니다.자동 재시작 배치 파일

배치 파일이 있습니다. 내부에 실행중인 Java 프로그램 때문에 항상 실행되고 있습니다. 그러나 때로는 충돌이 발생하고 모니터링하지 않기 때문에 다시 시작할 때까지 약간의 시간이 지납니다.

이러한 배치 파일을 모니터링하는 방법이 있는지 또는 충돌이 발생해도 해당 배치 파일을 다시 시작할 수 있는지 묻고 싶습니다. Windows XP에서 해당 파일을 실행하고 있습니다.

감사합니다.

답변

1

루프의 다른 배치 파일에서 배치 파일을 시작할 수 있습니다. 시작되면 루프가 대기합니다. 충돌이 발생하면 루프가 시작됩니다.

+0

안녕하세요, 다른 곳에서도이 글을 읽었지만 일괄 쓰기에 익숙하지 않습니다. 이 배치 코드의 예를 들어 주시겠습니까? 나는 루프 예제를 의미한다. 내. 박쥐의 이름이 emrah.bat 인 경우. – emrahsamdan

+0

그냥 Google 밖으로. SO에 대한 주제가 있습니다 (예 : [this one] (http://stackoverflow.com/questions/1788473/while-loop-in-batch) – weekens

0

java에 대한 각 호출을 cmd.exe를 통해 java를 호출하는 goto 루프로 바꿉니다. Java 프로그램이 오류와 함께 종료 된 경우에만 조건부로 루프백합니다.

. 
. 
:javaLoop 
cmd /c java yourJavaProg || goto :javaLoop 
. 
. 
당신은 그것을 다시 시작 횟수를 제한하는 카운터를 추가하여 완전한 실패의 경우 무한 빠른 루프를 방지 할 수 있습니다

. 또 다른 가능성은 시간을 기록하고 마지막으로 다시 시작한 이후 최소 시간이 경과 한 경우에만 다시 시작하는 것입니다. 또는 두 가지를 조합 한 것일 수도 있습니다.

EDIT - 두 번째 생각에 CMD/C가 필요하지 않을 수 있습니다. 자바를 직접 호출하고 에러가 발생했을 때 조건부로 루핑을하면 문제가 없다.