Linux Labs

Пакеты, службы, журналы / Ступень 8 из 13

Свой юнит службы и применение изменений

Не запущена Запускается обычно ~20 с
Выйти из урока

Шаг 6 из 7 · лаба · 30 минсредняя

Написать юнит для службы

Демон запускают руками в терминале. Оформи его службой systemd, которая переживёт перезагрузку и сбой.

Ситуация

Разработчик оставил на сервере демон /usr/local/bin/myapp: он работает на переднем плане и слушает порт 9000. Пока его запускают руками в терминале, поэтому после выхода администратора или перезагрузки демон не работает. Для демона уже заведён пользователь myapp без входа в систему.

Задача

Оформи демон службой systemd myapp с файлом /etc/systemd/system/myapp.service:

  1. Служба работает, и её процесс слушает порт 9000.
  2. Процесс службы работает от пользователя myapp.
  3. Служба запускается при загрузке системы и после сбоя запускается заново сама.

Сам демон менять не нужно.

Нужные инструменты уже установлены. Интернета на машине нет.

Лаба · самостоятельно

Команды в этой лабе не даны: набирай их в терминале сам. Цели проверяются на машине после каждой команды.

Цели

0 из 6
  • Есть файл юнита /etc/systemd/system/myapp.service — ещё не выполнена
  • Служба myapp активна — ещё не выполнена
  • Порт 9000 слушает процесс службы myapp — ещё не выполнена
  • Процесс службы работает от пользователя myapp — ещё не выполнена
  • Служба myapp включена в автозапуск — ещё не выполнена
  • После сбоя myapp запускается заново — ещё не выполнена
Ctrl+Enter
Запустит машину node1 · Ubuntu 24.04

Машина запускается

Подсказки

0 из 3

Цели лабы

0 из 6
  • Есть файл юнита /etc/systemd/system/myapp.service — ещё не выполнена
  • Служба myapp активна — ещё не выполнена
  • Порт 9000 слушает процесс службы myapp — ещё не выполнена
  • Процесс службы работает от пользователя myapp — ещё не выполнена
  • Служба myapp включена в автозапуск — ещё не выполнена
  • После сбоя myapp запускается заново — ещё не выполнена
node1 Ubuntu 24.04

Цели лабы

0 из 6
  • Есть файл юнита /etc/systemd/system/myapp.service — ещё не выполнена
  • Служба myapp активна — ещё не выполнена
  • Порт 9000 слушает процесс службы myapp — ещё не выполнена
  • Процесс службы работает от пользователя myapp — ещё не выполнена
  • Служба myapp включена в автозапуск — ещё не выполнена
  • После сбоя myapp запускается заново — ещё не выполнена
Загрузка…