我有一个情况,我需要做System.exit(0);
然后立即在kernel panic或类似的东西上重新启动相同的应用程序。 但是,如果我首先调用System.exit(0)如何调用exec()? 就像在Linux中,我使用BASH。
#!/bin/bash pkill java; sleep 1; java -cp /var/tmp/dist/Kernel.jar main.Kernel
Main.java:
/* Windows platform running */ public class Main { public static void main(String[] args) { // other activity happening.... for ages // // Suddently there will be a kernel panic it is better to do a software reboot // remotely // } public static rebootSoftwareKernel() { System.exit(0); // Exit completely Runtime.getRuntime().exec( MyConstant.RunItSelfSoftReboot() ); // Restart this same } }
看看Tanuki服务包装 。 其他功能允许在需要时重新启动JVM。