Как запускать сервисы очень зависит от дистрибутива Linux. Пожалуйста, расскажите нам, чего вы пытаетесь достичь (и в каком дистрибутиве и, возможно, в Desktop Environment), потому что сейчас я думаю, что вы, вероятно, не думаете о проблеме правильно.
ксенотеррацид
Ответы:
23
Чтобы запустить службу без входа в систему или перед ее входом в систему (т. Е. «При загрузке»), вам необходимо создать сценарий запуска и добавить его в последовательность загрузки.
Сценарий службы состоит из трех частей: запуск, остановка и перезапуск.
Базовая структура сервисного скрипта:
Как только вы настроите сценарий по своему вкусу, просто поместите его в /etc/init.d/
и добавьте его в процесс запуска системной службы (в Fedora я не пользователь Ubuntu,> D):
chkconfig -add <ServiceName>
Служба будет добавлена в процесс загрузки системы, и вам не нужно будет снова запускать ее вручную.
Обратите внимание, что при запуске, остановке и перезапуске обычно достаточно простых сценариев инициализации. Возможно, вы также захотите включить действие 'status', которое легко в Debian и других дистрибутивах, которые включают status_of_proc () в свой пакет init-functions. Хорошо управляемые пакеты будут включать все функции, требуемые LSB ( refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/… ). Скрипт инициализации, распространяемый вместе с tomcat в Ubuntu, содержит все эти действия, и, вероятно, лучше просто использовать это.
Стивен Д.
19
В зависимости от системы инициализации сценарий инициализации создается по-разному. Fedora дает вам возможность выбрать и использовать systemd, и, конечно, совместимость с SysV.
Выскочка
создать файл определения сервиса как /etc/init/custom-tomcat.conf
положить внутрь:
start on stopped rc RUNLEVEL=3
respawn
exec /path/to/your/tomcat --and --parameters
И ваш Tomcat должен запускаться при запуске системы.
Systemd
создать определение сервиса в /etc/systemd/system/custom-tomcat.service
Tomcat - довольно распространенный сервис, я бы порекомендовал посмотреть скрипт инициализации, предоставленный дистрибутивом. Скорее всего, он работает с вашим настроенным двоичным файлом, практически без изменений.
Если у вас есть cronдемон, один из предопределенных временных ловушек cron - это @reboot, который, естественно, запускается при запуске системы. Запустите crontab -eдля редактирования вашего crontabфайла и добавьте строку:
Это относится ко всем стартапам или просто перезагружается?
WhyNotHugo
Это относится ТОЛЬКО к fcron - не vixie-cron или любому другому cron AFAIK.
Мацей Пехотка
@Maciej Это определенно работает для vixie-cron; это то, что я использую
Майкл Мрозек
@Hugo Все стартапы
Майкл Мрозек
6
Чтобы просто запустить скрипт после запуска компьютера, но до того, как пользователь войдет в систему, вы можете просто отредактировать скрипт /etc/rc.local, который предназначен для решения именно этой задачи.
Ответы:
Чтобы запустить службу без входа в систему или перед ее входом в систему (т. Е. «При загрузке»), вам необходимо создать сценарий запуска и добавить его в последовательность загрузки.
Сценарий службы состоит из трех частей: запуск, остановка и перезапуск.
Базовая структура сервисного скрипта:
Как только вы настроите сценарий по своему вкусу, просто поместите его в /etc/init.d/
и добавьте его в процесс запуска системной службы (в Fedora я не пользователь Ubuntu,> D):
Служба будет добавлена в процесс загрузки системы, и вам не нужно будет снова запускать ее вручную.
Ура!
источник
В зависимости от системы инициализации сценарий инициализации создается по-разному. Fedora дает вам возможность выбрать и использовать systemd, и, конечно, совместимость с SysV.
Выскочка
/etc/init/custom-tomcat.conf
положить внутрь:
И ваш Tomcat должен запускаться при запуске системы.
Systemd
/etc/systemd/system/custom-tomcat.service
положить внутрь:
и включите свой сервис, используя
systemctl enable custom-tomcat.service
. Он будет запускаться при каждой нормальной загрузке.Конечно, есть еще несколько параметров конфигурации для обеих систем инициализации, вы можете проверить их в их документации.
источник
Tomcat - довольно распространенный сервис, я бы порекомендовал посмотреть скрипт инициализации, предоставленный дистрибутивом. Скорее всего, он работает с вашим настроенным двоичным файлом, практически без изменений.
источник
Если у вас есть
cron
демон, один из предопределенных временных ловушек cron - это@reboot
, который, естественно, запускается при запуске системы. Запуститеcrontab -e
для редактирования вашегоcrontab
файла и добавьте строку:источник
Чтобы просто запустить скрипт после запуска компьютера, но до того, как пользователь войдет в систему, вы можете просто отредактировать скрипт /etc/rc.local, который предназначен для решения именно этой задачи.
источник
Вы можете сделать более сложный сценарий, который позволяет запускать с разрешениями конкретного пользователя, следующим образом:
Сценарий находится в /etc/init.d/myservice, и вы запускаете службу, выполнив:
Прочтите страницу руководства на start-stop-daemon, чтобы понять, как это работает.
источник
В Ubuntu или Debian, как вы можете использовать, чтобы добавить
удалять
До свидания! \ о
хорошо для реализации функций состояния и принудительной перезагрузки, чтобы быть LSB-совместимым
источник
service --status-all
списке?