Вот идея, но имейте в виду, что вы можете сделать большинство следующего в Java, но не все этого в Java:
- в большинствеLinux дистрибутивы находятся в
/etc/init.d
- хотя путь может отличаться и также может быть /etc/rc.d/init.d
- поэтому вам нужно проверить, какой из них применяется.Обычно вы копируете туда скрипт оболочки, который запускает ваш сервис. - Однако сам сценарий оболочки обычно зависит от дистрибутива, но вы можете подготовить несколько сценариев оболочки - по одному на каждый дистрибутив и выяснить, какой это дистрибутив, запустив команду
uname -a
и проанализировать ее вывод вопределить дистрибутив и, соответственно, какой скрипт скопировать в /etc/init.d
.Вам нужно будет дать разрешения на чтение / выполнение для этого сценария, но это можно сделать, запустив chmod
- , тогда вы обычно будете ссылать этот сценарий на
/etc/rc2.d/
или /etc/rc3.d/
- вы можете вставить его ви то и другое;тем не менее, вы не можете делать символические ссылки в Java - вам нужно будет использовать некоторую нативную библиотеку; - или просто скопируйте ваш скрипт в эти каталоги;хотя это означает, что теперь у вас есть 3 точки конфигурации (
/etc/init.d/
, /etc/rc2.d
и /etc/rc3.d/
), которые не идеальны - или другая идея - запустить
ln -s /etc/init.d/yourscript /etc/rc2.d/name
, чтобы сделать символическую ссылку
Это означает, что ваша установка будет работать только в Linux.Надеюсь, это поможет.