В Java нет кроссплатформенного способа обработки сигналов. Лучше всего открыть Socket
и дождаться каких-либо отзывов о нем. Используйте netcat
или небольшую Java-программу для подключения к сокету. Внутри примите соединение, перезагрузите и закройте соединение. Вам даже не нужно отправлять данные туда и обратно.
[EDIT] Кажется, что нет никакой поддержки для обработки сигналов в C-части Jakarta Commons Daemon. Посмотрите эту статью из IBM о том, как реализовать свой собственный обработчик сигналов в библиотеке JNI. Он был написан для Java 1.3, но все еще действителен для Java 5 и 6.
[EDIT2] Если переносимость не является проблемой, вы можете попробовать недокументированный и неподдерживаемый класс sun.misc.Signal
. Смотрите эту тему . Обратите внимание, что он не поддерживается, недокументирован и т. Д., И API не менялся в течение последних пяти лет.