Как осуществить запуск и остановку сервиса в Linux?

как осуществить запуск и остановку сервиса в linux?

Системы запуска сервисов

Дистрибутивы Linux используют системы инициализации сервисов. В ближайшем рассмотрении такая система представляет собой корневой процесс, который запускает все остальные процессы. От эффективности запуска демонов зависит общая скорость загрузки операционной системы.

Дистрибутивы, по мере выхода новых версий, могут использовать различные системы запуска. Однако большинство из них поддерживают унифицированный механизм старта, перезагрузки и остановки сервисов.

Рассмотрим три самые популярные системы:

  • Init-V — считается самой старой из всех. Разработана в 1983 году. Изначально использовалась практически всеми дистрибутивами Linux. Init-V легла в основу разработки многих других систем инициализации. Наряду с высокой стабильностью обладает рядом существенных недостатков. Например, отсутствием параллельного запуска и остановки сервисов, что сказывается на производительности. Исполняемый файл располагается в /sbin/init.
  • Upstart — разработана компанией Canonical специально для дистрибутива Ubuntu и замены устаревшей Init-V. Отличается развитой событийной моделью.
  • Systemd — системный демон, пришедший на замену Init-V. В настоящее время используется практически всеми дистрибутивами Linux. Даже в последней версии Ubuntu заменил Upstart. Systemd имеет множество инструментов взаимодействия с сервисами как на стадии запуска или остановки, так и во время их выполнения. Эффективно распараллеливает процессы инициализации демонов, что значительно ускоряет загрузку операционной системы.

Узнать, какая именно система управления сервисами стоит в вашей версии дистрибутива можно с помощью команды, приведенной ниже. Она покажет символическую ссылку на исполняемый файл.

~$ ls -l /sbin/init
lrwxrwxrwx 1 root root 20 окт 27 12:11 /sbin/init -> /lib/systemd/systemd

Заметка
Все системы запуска сервисов имеют массу отличий, как в формировании конфигурационных файлов, так и в работе с процессами. Эта статья не ставит перед собой целей подробного изучения данных вопросов. Они будут рассмотрены в следующих уроках.

Запуск сервисов

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

service имя_сервиса start             #общий способ для всех дистрибутивов
/etc/init.d/имя_сервиса start         #стандартный способ запуска для Init-V
invoke-rc.d имя_сервиса start         #используется в Init-V (дистрибутив Debian)
start имя_сервиса                     #используется в Upstart (дистрибутив Ubuntu)
systemctl start имя_сервиса.service   #применяется в Systemd (дистрибутив Fedora)

Остановка сервисов

Выполнение сервиса, демона, сетевой службы или сервера может быть остановлено аналогичными командами. Отличие лишь в том, что параметр start заменяется на stop.

service имя_сервиса stop             #общий способ для всех дистрибутивов
/etc/init.d/имя_сервиса stop         #стандартный способ запуска для Init-V
invoke-rc.d имя_сервиса stop         #используется в Init-V (дистрибутив Debian)
stop имя_сервиса                     #используется в Upstart (дистрибутив Ubuntu)
systemctl stop имя_сервиса.service   #применяется в Systemd (дистрибутив Fedora)

Перезапуск сервисов

Отметим, что некоторые сервисы Linux позволяют осуществлять подгрузку новой конфигурации без остановки процесса. Для этого используется параметр reload. В случае если вам необходимо перезапустить демон полностью, необходимо использовать параметр restart.

service имя_сервиса restart             #общий способ для всех дистрибутивов
/etc/init.d/имя_сервиса restart         #стандартный способ запуска для Init-V
invoke-rc.d имя_сервиса restart         #используется в Init-V (дистрибутив Debian)
restart имя_сервиса                     #используется в Upstart (дистрибутив Ubuntu)
systemctl restart имя_сервиса.service   #применяется в Systemd (дистрибутив Fedora)

Последние публикации