mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-11 19:49:32 +00:00
44 lines
878 B
Java
44 lines
878 B
Java
|
// Create a long running process and verify that the exitValue is not
|
||
|
// immediately available. Then destroy() it and verify that it
|
||
|
// terminates quickly with a non-zero exitValue.
|
||
|
public class Process_5
|
||
|
{
|
||
|
public static void main(String[] args)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
int c;
|
||
|
long startTime = System.currentTimeMillis();
|
||
|
Runtime r = Runtime.getRuntime();
|
||
|
String[] a = { "sleep", "120" };
|
||
|
Process p = r.exec(a);
|
||
|
|
||
|
try
|
||
|
{
|
||
|
c = p.exitValue();
|
||
|
System.out.println("bad 1");
|
||
|
return;
|
||
|
}
|
||
|
catch (IllegalThreadStateException itse)
|
||
|
{
|
||
|
// Ignore as this is good here.
|
||
|
}
|
||
|
|
||
|
p.destroy();
|
||
|
|
||
|
c = p.waitFor();
|
||
|
|
||
|
long endTime = System.currentTimeMillis();
|
||
|
|
||
|
if (endTime - startTime > 110000L)
|
||
|
System.out.println("bad 2");
|
||
|
|
||
|
System.out.println(c != 0 ? "ok" : "bad 3");
|
||
|
}
|
||
|
catch (Exception ex)
|
||
|
{
|
||
|
System.out.println(ex.toString());
|
||
|
}
|
||
|
}
|
||
|
}
|