Java - Как мне закрыть себя и перезапустить себя, например, из-за паники ядра моего программного обеспечения, и мне нужно перезагрузить себя? - PullRequest
2 голосов
/ 05 марта 2012

У меня есть случай, когда мне нужно сделать System.exit(0);, а затем немедленно перезапустить то же приложение при панике ядра или что-то в этом роде. Но если я сначала вызываю 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 
  }
}

1 Ответ

0 голосов
/ 05 марта 2012

Посмотрите на Сервисный упаковщик Тануки . Среди других функций это позволяет перезапустить JVM при необходимости.

...