Перезапустите службу с помощью команды systemctl restart.

Perezapustite Sluzbu S Pomos U Komandy Systemctl Restart



системный — это менеджер системных служб, широко используемый в Linux. Справляться системный услуги, системаctl используется утилита командной строки. Этот инструмент также используется для перезапуска любой службы systemd.

Службы в Linux управляются через файл конфигурации. Если в файл конфигурации службы внесены изменения, необходимо инициировать перезапуск службы, чтобы применить изменения. После перезапуска службы systemd повторно оценивает файл конфигурации и применяет изменения.

В этом руководстве я расскажу, как использовать systemctl для перезапуска службы в Linux.







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



Команда перезапуска systemctl

перезапуск команда по сути останавливает службу и запускает ее снова. Если служба или устройство не работает, команда перезапуска инициирует его работу.



Команда перезапуска не удаляет процессы, связанные со службой. Возьмем, к примеру, файловые дескрипторы, которые представляют собой неотрицательные идентификаторы, назначаемые операционной системой файлам, открытым службой. Если вы перезапустите службу, дескриптор файла, связанный с этой службой, останется там во время процесса перезапуска.





Если вы хотите сбросить все связанные процессы со службой, вам необходимо явно останавливаться сервис и начинать снова.

Как перезапустить службу

В Linux вы можете перезапустить службу, используя команду sudo systemctl инструмент командной строки с перезапуск вариант и указав его имя. Общий синтаксис приведен ниже:



судо перезапуск системы [ наименование услуги ]

Тебе понадобится судо права на перезапуск службы.

Например, перезапустим сш услуга.

судо systemctl перезапустите ssh.service

Чтобы перезапустить несколько служб, добавьте имя каждой службы после перезапуск команда с пробелом.

судо systemctl перезапустите ssh.service smbd.service

Другие команды перезапуска приведены в таблице ниже:

попробовать-перезапустить Он останавливает или запускает указанную службу или службы, и если служба не запущена, она не запускает ее.
перезагрузить или перезапустить Перезагрузите поддерживаемую службу или службы, а если служба не поддерживается, перезапустите ее и активируйте.
попробуй-перезагрузи или попробуй-перезапустить Перезагрузите поддерживаемую службу или службы и, если служба не поддерживается, перезапустите ее, не активируя.

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

Как автоматически перезапустить службу

В Linux, если служба выходит из строя, системный перезапустил его по умолчанию. Тем не менее, во многих случаях может потребоваться изменить способ перезапуска службы. Например, может потребоваться ручное действие в процессе отладки специального сервиса.

Файлы модулей systemd или служебные файлы расположены на /etc/systemd/система или /lib/systemd/система в основном в зависимости от того, как создается услуга. Чтобы просмотреть файлы модулей в Linux, используйте следующую команду:

лс / библиотека / системный / система

Вы можете увидеть файлы конфигурации различных сервисов. Давайте откроем ssh.service файл с помощью нано редактор.

судо нано / библиотека / системный / система / ssh.service

Здесь вы можете изменить Перезапуск параметр. По умолчанию установлено значение при отказе . Другие варианты перезапуска службы перечислены ниже:

  • Нет
  • всегда
  • при успехе
  • при отказе
  • ненормальный
  • при прерывании
  • сторожевой пес

Другая опция в файле службы устройства: Рестартсек который используется для указания количества секунд, по истечении которых служба будет перезапущена.

[ Услуга ]

Перезапуск = всегда

Рестартсек '=' 5

Эти инструкции означают, что служба перезапустится при загрузке и, если она будет прервана, будет перезапущена через 5 секунд.

После изменения параметра выполните следующую команду, чтобы применить изменения.

судо systemctl-демон перезагрузки

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

[ Единица ]

Стартлимитинтервалсек '=' 300

StartLimitBurst '=' 4

Приведенная выше инструкция указывает, что systemd автоматически прекратит попытки перезапустить службу, если она не запустится через 300 секунд и 4 повторных попытки.

Чтобы проверить, перезапускается ли служба через 5 секунд или нет, завершите службу, используя PID службы и убийство команда.

судо убийство -9 [ ПИД ]

Через 5 секунд сервис будет перезапущен; использовать журналctl команда для проверки статуса ssh.service .

журналctl ssh.service

Как перезапустить службу при перезапуске зависимой службы

В Linux многие службы взаимозависимы, и аналогичным образом их необходимо перезапускать при перезапуске зависимой службы.

В файле службы модуля есть три различных варианта перезапуска службы с перезапуском зависимой службы.

  • Часть
  • Привязывается к
  • Требует

Все эти варианты выполняют одну и ту же задачу.

Давайте возьмем пример ssh.service, который зависит от apparmor.service; модуль безопасности Linux для обеспечения необходимого доступа. Чтобы просмотреть зависимости службы в Linux, используйте системаctl с зависимости списка имя команды и службы.

список зависимостей systemctl ssh.service

Итак, если вы хотите перезапустить ssh.service при перезапуске apparmor.service, вам необходимо включить параметр PartOf, BindsTo или Requires вместе с именем службы в разделе [Unit] файла apparmor.service.

Откройте файл apparmor.service.

судо нано / библиотека / системный / система / Apparmor.service

Добавьте следующую строку в раздел [Unit].

Часть =ssh.service

Сохраните файл и выполните команду daemon-reload.

судо systemctl демон-перезагрузка

Теперь перезапустите ssh.service а затем проверьте Apparmor.service бревно.

Вы заметите Apparmor.service одновременно перезапустил ssh.service перезапустил.

Заключение

Чтобы перезапустить службу или службы в Linux, системаctl команда используется с перезапуск вариант. системаctl — это утилита командной строки, используемая для управления службами systemd. перезапуск Опция запускает службу, а затем останавливает ее, активируя неактивную службу. Однако вы можете перезапустить службу, не активируя ее, используя команду попробовать-перезапустить вариант.