Что рекомендуемый путь состоит в том, чтобы запустить программу на запуске?

Я использую Ubuntu 14.04.3 на сервере, который выполняет набор самодельных веб-приложений. Я хочу, чтобы каждое приложение запустилось вскоре после системных запусков — а именно, как только Postgresql работает — и затем выполненный, пока система не закрывается.

Прямо сейчас я делаю это с Экраном GNU: Я запускаю каждое приложение в его собственном терминальном “окне”. Это просто, и это помогает видеть любой вывод ошибок, который сгенерирован, но это чувствует себя дилетантским, и я должен сделать это вручную каждый раз, когда система перезапущена.

Я изучил запись Новомодных сценариев конфигурации для каждого приложения, но я должен буду выбрать одну из этих непривлекательных опций:

  • Системные задания выполняются root и потребуйте, чтобы конфигурационные файлы были установлены в системном пути.
  • Пользовательские задания походят на то, что я хочу, но они удерживаются от использования в последних версиях Выскочки и по-видимому даже не поддерживаются в Ubuntu.
  • Задания сессии являются чрезвычайно привередливыми, чтобы настроить при выполнении сервера.

Кроме все это, Выскочки уже начал заменяться systemd в последних версиях Ubuntu.

Как что рекомендуемый путь состоит в том, чтобы запустить задачу, такую, я описываю? Я должен стиснуть зубы и использовать Новомодное системное задание или являюсь там более легким путем?

1
задан 14 August 2015 в 18:19

1 ответ

Пока я следую, Спрашивает Ubuntu, я никогда не видел пользователя использования & новомодные задания сессии. Это - первый раз, когда я слышал об их существовании.

  • Пользовательские задания удерживались от использования с выскочкой v1.7, Ubuntu 14.04 идет с заданиями v1.12
  • Сессии, были сделаны для другого главным образом сеанса пользователя цели. Это не кажется правильным для запуска пользователя init сессия в сервере только для выполнения тех демонов.

Лучше, чтобы придерживаться системных заданий, используйте su или sudo для выполнения их как другого пользователя, и может быть более чистым, если Вы используете setuid и setgid, или exec start-stop-daemon --start -c <myuser> --exec <command> видят Выполнение Задание как Другой Пользователь

BTW, можно использовать start on started postgresql & stop on stopping postgresql как Вы сервисы в зависимости от postgresql. Таким образом, они запускаются после него, начинают, затем остановился перед ним, останавливаются. Посмотрите подобный случай здесь , Как я могу удостовериться Новомодные остановки задания, прежде чем другое Новомодное задание остановится?

Для контроля для ошибки Вы могли использовать ее функцию входа.

1
ответ дан 7 December 2019 в 16:11

Другие вопросы по тегам:

Похожие вопросы: