自动重启批处理文件

时间:2012-02-17 09:37:51

标签: java batch-file windows-xp

如果我之前提出过这个问题,我很抱歉,但我找不到与我的情况相符的正确答案。

我有一些批处理文件,由于在其中运行的java程序,它们总是在运行。但是,有时它们会崩溃,因为我没有监视它们,所以经过了一段时间才重新启动它们。

我想问一下,有没有办法监控这些批处理文件,或者我怎样才能重启这些批处理文件,即使它们崩溃了。我在Windows XP上运行这些文件。

由于

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

您可以在循环中从另一个批处理文件启动批处理文件。启动时,循环等待。一旦崩溃 - 循环就会重新开始。

答案 2 :(得分:0)

使用通过cmd.exe调用java的goto循环替换对java的每次调用。只有当java程序退出并出现错误时才有条件地循环回来。

.
.
:javaLoop
cmd /c java yourJavaProg || goto :javaLoop
.
.

您可能希望通过添加计数器来限制重新启动的次数来防止在完全失败的情况下无限快速循环。另一种可能性是记录时间,并且只有在自上次重启后经过最少时间后才重新启动。或者两者兼而有之。

编辑 - 第二个想法,你可能不需要CMD / C.它可以通过直接调用java并在出错时有条件地循环来正常工作。