Linux Labs

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

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

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

Шаг 1 из 7 · на машине · 6 мин

Файл и процесс расходятся

Чему научишься

  • Читать и писать секции файла юнита — что запускать, от кого и когда запускать заново.
  • Применять правку юнита — daemon-reload для описания и перезапуск для процесса.
  • Проверять результат по живому процессу службы, а не только по файлу.

Служба отчётов lab-worker работала от root, хотя root ей не нужен. Коллега поправил файл юнита — теперь там User=student — и написал: «готово». Проверь, от какого пользователя работает служба.

Упражнение · посмотреть

Кто запускает lab-worker

Прочитай файл юнита lab-worker, посмотри, от какого пользователя работает процесс службы — программа sleep, — и прочитай сводку службы.

Сначала предположи

В файле юнита User=student. Что напечатает ps в столбце USER у процесса sleep?

Теперь начни упражнение, выполни команду и сверь прогноз с выводом.

Войти и начать Машина доступна после входа
Проверь себя 1 вопрос

Почему процесс lab-worker работает от root, хотя в файле юнита User=student?

  • Сводка просит не перезагрузку, а systemctl daemon-reload — команду, которая перечитывает файлы юнитов.

  • systemd работает с этим файлом: путь к нему стоит в строке Loaded сводки, а предупреждение в конце говорит, что файл изменился.

  • Службы запускает systemd от того пользователя, что указан в загруженном описании. Сводка говорит о другом: файл изменился, его нужно перечитать.

Процесс запущен по старому описанию с User=root, а новый файл systemd ещё не перечитал — об этом и предупреждает сводка.

Ubuntu 24.04
Загрузка…