Рассмотрим следующий простой код, который навсегда печатает "Привет мир":
public class WakeMeUpSomehow {
public static void main(String[] args) {
while (true) {
try {
System.out.println( " Hi world ");
Thread.sleep(1000); //1000 milliseconds is one second.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
}
}
}
Вот результат:
Есть ли способ разработать внешнюю третью программу, которая следит за тем, чтобы эта программа заметила, когда мы ее убиваем (например, с помощью CTRL + C в командной строке); а затем эта "родительская" программа возобновляет работу "Hello World"?
Я думаю, что это может выглядеть примерно так:
Итак, мой вопрос: как я могу имитировать такой код, который обладает такой отказоустойчивой способностью? Есть ли способ сделать это?
спасибо!
EDIT: я нашел здесь опрятную ссылку, которая имеет значение, но обращается к чему-то немного другому - Как перезапустить Java-приложение?