如何发现我的程序是否正常终止?

时间:2010-03-15 10:25:50

标签: java process terminate exit-code

如果我用Java编写程序,我怎么知道我的程序是否正常终止正常退出

2 个答案:

答案 0 :(得分:2)

我在这里猜一点,因为你的问题有点模糊。但是我假设你谈到在你的程序中发现这个程序正常终止或者在上次运行时终止。

如果你有一些配置目录或文件 - 在那里留下一个注释,当程序启动时,当你的进程正常退出时删除所述注释。如果当你的程序启动时,那个笔记仍然存在,那么另一个实例仍在运行(那时你需要单独检查)或者它没有正常终止。

答案 1 :(得分:0)

JVM在程序终止时返回整数退出代码,0表示程序正确终止,非零值通常表示错误条件。

如果您的程序正常结束(即main方法返回而不抛出异常),那么JVM将返回0,否则,如果抛出异常而未捕获异常,则JVM将返回非零值错误代码。

您也可以通过System.exit(int)方法自行设置错误代码。这会导致JVM立即终止并返回指定的错误代码。

假设您使用的是基于Windows的计算机,则可以通过回显%ERRORLEVEL%属性来查看返回的错误代码。

例如,假设您有一个Main类,您可以看到如下错误代码:

C:\>java Main

C:\>echo %ERRORLEVEL%
0

如果您之后更改了main以调用System.exit(1),则错误级别将如下所示:

C:\>echo %ERRORLEVEL%
1