Рейтинг:0

как включить запуск/остановку/перезапуск для недавно добавленной службы в Ubuntu

флаг ar

Я создал службу, которая подключается к базе данных и выполняет некоторые запросы. Я хочу знать, хочу ли я включить «запуск службы xyzservice» или «остановку службы xyzservice» или перезапустить, где мне нужно сделать эту запись службы в Ubuntu? какие шаги.

Рейтинг:0
флаг in

Когда вы говорите «Я создал службу», мне интересно, имеете ли вы в виду «Я создал сценарий оболочки» или что-то подобное. Поскольку создание службы потребует написания .оказание услуг файл, что составляет 90% сложности при выполнении задачи.

Итак, ради этого ответа я предполагаю, что вы создали сценарий оболочки с именем query_db.sh. Следующим шагом будет создание .оказание услуг файл, затем включите его.

Вот как вы создаете сервис:

  1. Откройте терминал (если он еще не открыт)
  2. Создайте новый файл для службы. я позвоню своему query_db.service:
    sudo vi /etc/systemd/system/query_db.service
    
    Примечание: Не стесняйтесь использовать любой текстовый редактор, который вы хотите. Использование ви в этом примере не является ни предложением, ни одобрением. Это просто сила привычки.
  3. Вставьте в новый файл следующее, при необходимости отредактировав соответствующие значения:
    [Ед. изм]
    Описание=Выполнить запрос
    
    [Оказание услуг]
    Пользователь=dheeraj
    WorkingDirectory=/home/dheeraj/scripts
    ExecStart=/home/dheeraj/scripts/query_db.sh
    Тип=простой
    ТаймаутСтопСек=10
    Перезапуск = при сбое
    Рестартсек=5
    
    [Установить]
    WantedBy=многопользовательская.цель
    
    Примечание: Обязательно измените Пользователь, Рабочий каталог, и ExecStart ценности к чему-то правильному. Другие элементы можно оставить нетронутыми, если вы не знаете, как их настроить.
  4. Убедитесь, что файл сценария является исполняемым:
    sudo chmod +x /home/dheeraj/scripts/query_db.sh
    
  5. Перезагрузить системад демоны:
    sudo systemctl демон-перезагрузка
    
  6. Включите ваш демон:
    sudo systemctl включить query_db
    
  7. Запустите свой демон:
    sudo systemctl запустить query_db
    

Вот и все. Теперь вы можете проверить статус вашего сервиса с помощью:

статус sudo systemctl query_db

И, конечно же, вы можете остановить свой сервис с помощью:

sudo systemctl остановить query_db

Если вы предпочитаете использовать более короткие команды, замените действие именем службы:

статус службы sudo query_db
служба sudo query_db остановить

Вот и все.

DheerajK avatar
флаг ar
В моей системе возникает ошибка: bash: systemctl: команда не найдена
DheerajK avatar
флаг ar
# кот /etc/os-релиз ИМЯ="Убунту" ВЕРСИЯ = "16.04.2 LTS (Xenial Xerus)" ID=убунту ID_LIKE=дебиан PRETTY_NAME="Ubuntu 16.04.2 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial Я читал на некоторых сайтах, что нам нужно использовать Upstart, если systemctl не найден, Можете ли вы помочь мне с шагами, чтобы служба могла перезапускать/останавливать/запускать с помощью Upstart?
флаг in
Неа. Извините, но я не могу помочь. Версия 16.04 уже несколько месяцев является EOL, и у меня больше нет виртуальных машин этой версии для тестирования.
DheerajK avatar
флаг ar
Спасибо, Матиго, если у вас есть какие-либо ссылки, которые я могу использовать и попробовать те вещи, которые были бы полезны. Я закончил с кодом для 3 служб, но не могу заставить их включить эти операции запуска/остановки/перезапуска.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.