我正在制作一个程序(3D扫雷)并且我在检测结果方面遇到了问题。我尝试了单独的Thread来等待结果,但它没有工作(只是没有)。所以我认为最简单的方法是拥有2个独立的程序(不是问题),其中一个运行另一个(使用args,1.problem)并获取它返回的值System.exit();(2 。问题)。 我找到了一些解决第一个问题的例子,但不是第二个问题。有没有正确的方法,或者我必须将结果写入文件或其他什么? BTW可以随意纠正语法,我只是在学习XD。
答案 0 :(得分:0)
如果您使用System.exec ()
来运行程序,请查看waitFor ()
Process
的返回值
Process p = Runtime.getRuntime().exec("cmd /C dir");
int rc = p.waitFor ();
System.out.println ("Exit code is " + rc);
您还可以查看该过程的exitValue ()
,但您必须确保该程序在可靠之前已完成运行。
Process p = Runtime.getRuntime().exec("cmd /C dir");
p.waitFor (); // make sure we run to completion
System.out.println ("Exit code is " + p.exitValue ());
答案 1 :(得分:0)
从第二个程序启动第一个程序并获取退出值。
处理myProcess = Runtime.getRuntime()。exec(command);
int exitValue = myProcess.exitValue();