package net.i2p.installer;
import java.io.File;
import java.io.IOException;
/**
* <p>This class can be used by the installer to execute shell commands.</p>
* Usage: <code>Exec dir command [args ...]</code><br>
*
* See also {@link net.i2p.util.ShellCommand}.
* @since 0.4.1.4, moved to {@link net.i2p.installer} in 0.9.5
*/
public class Exec {
public static void main(String args[]) {
try {
String cmd[] = new String[args.length - 1];
System.arraycopy(args, 1, cmd, 0, cmd.length);
Process proc = Runtime.getRuntime().exec(cmd, (String[])null, new File(args[0]));
// ugly hack, because it seems we'll block otherwise!
// http://cephas.net/blog/2004/03/23/external_applications_javas_runtimeexec.html
try { proc.exitValue(); } catch (Throwable t) { }
Runtime.getRuntime().halt(0);
} catch (IOException e) {
e.printStackTrace();
} catch (RuntimeException e) {
e.printStackTrace();
}
}
}