Папки / методы запуска системы на платформах UNIX? - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть приложение Java, которое должно реализовать функции установки запуска JAR при запуске.

Я могу сделать это в Window, введя файл REG в реестр, но как я могу это сделать на платформах UNIX? Linux и Mac, если методы разные.

Есть ли в Linux и Mac папки для запуска системы?

Помните, что мне нужно делать это программно, а не с помощью системных настроек или чего-то подобного.

Ответы [ 3 ]

1 голос
/ 21 февраля 2012

В Linux классическим способом было бы добавление скрипта в соответствующий каталог /etc/rcN.d/ (где N - это число 0-6, представляющее «уровень выполнения»). Я не уверен, что это все еще рекомендуемый способ, но обычно он все еще поддерживается. Это также будет работать с небольшими изменениями для других основных версий Unix (Solaris, HP-UX, AIX).

На Mac вы должны работать усерднее. Файлы /etc/rc.common, /etc/rc.imaging и /etc/rc.netboot связаны, но каталогов /etc/rcN.d нет. Там же есть скрипт rc и еще один rc.local. Ввод man rc показывает:

ОПИСАНИЕ

rc.local теперь не поддерживается и был заменен на launchd (8), который загружается с помощью подкоманды launchctl (1) для чтения заданий launchd (8) из стандартных расположений.

СМОТРИТЕ ТАКЖЕ

launchd(8), launchctl(1)

Итак, вы должны исследовать launchctl и launchd, в частности launchctl.

0 голосов
/ 21 февраля 2012

Вот как я это сделаю в Ubuntu.

Сначала создайте скрипт bash для запуска java-приложения, аналогично.

#!/bin/bash
java -jar "helloworld.jar"

и сохраните его, в этом случае он называется 'HELLOWORLD' в /etc/init.d.

Нужно сделать исполняемый скрипт, поэтому нужно запустить

chmod +x HELLOWORLD

Наконец, чтобы запустить его при запуске

update-rc.d HELLOWORLD defaults
0 голосов
/ 21 февраля 2012

На Mac я считаю его launchd, а на Linux * init.d. Это файлы конфигурации.

...