Управляйте сервисами в вашем дистрибутиве GNU / Linux

схема инициализации Linux

При работе с услуги в дистрибутивеВ зависимости от типа системы, которую вы используете (SysV init, Upstart, systemd,…), способ, которым службы могут быть остановлены, запущены, остановлены, перезапущены и т. Д. Это момент, когда многие сомневаются, как это делается на самом деле, и тот факт, что существует несколько разных систем, не помогает некоторым более неопытным пользователям, которые пытаются сделать это с неправильной командой.

Поэтому я собираюсь показать простое руководство, с помощью которого вам будет понятнее, как вы можете работать в своем дистрибутиве, каким бы он ни был. Для этого первое, что вам нужно знать, - это тип используемого вами демона. Как я уже сказал, не все дистрибутивы используют одно и то же тип системы запуска. На самом деле, как вы знаете, некоторые выступили против нового systemd и создали форки или производные от старого SysV, как в случае с Devuan по сравнению с Debian ...

Как узнать, какую систему использует мой дистрибутив? Что ж, вы можете узнать это, посмотрев эти маршруты, и если они у вас есть, у вас будет такая система в вашем дистрибутиве:

  • Чтобы узнать, есть ли у вас systemd: найти путь / usr / lib / systemd
  • Чтобы узнать, есть ли у вас Upstart: найдите этот другой путь / usr / share / upstart
  • Чтобы узнать, есть ли у вас SysV init: найти путь /etc/init.d
  • Сено другиеДаже если это немного реже, в этих конкретных случаях вы можете сделать что-то подобное, если подозреваете, что это не так.

Еще один способ сделать это еще проще, поскольку он одинаков для всех, он должен искать информацию в / proc о PID = 1, то есть о первом процессе, от которого зависают остальные, и который точно соответствует этому демону запуска. Для этого просто выполните следующую команду, и она вернет имя:

sudo stat /proc/1/exe

Теперь вы знаете, какая у вас система, поэтому давайте команды, которые вы можете использовать для управления услугами:

  • Инициализация SysV: /etc/init.d/[service_demon_name] [действие]
  • Systemd: systemctl [действие] [имя_демона]
  • Выскочка: service [service_demon_name] [действие]
  • другие: Если вы используете другую систему, вам лучше посмотреть руководство. Например, в некоторых редких случаях в Linux и других Unix-системах для сброса службы может использоваться сигнал из процесса SIGHUP: kill -HUP $ (cat / var / run / [service-PID])

вы должны заменить [действие] для того, что вам нужно сделать. Например, если вам нужно перезапустить, используйте сброс, если вы хотите прекратить использование стоп, если вы хотите начать использовать звездочку и т. Д. И замените [daemon_name] именем демона службы, которую вы хотите запустить. Например:

systemctl reset httpd

Надеюсь, теперь вам стало понятнее.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

2 комментариев, оставьте свой

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

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   CRISTIAN сказал

    Есть еще системы с выскочкой? Думаю просто какой-то старый убунту.
    Также, даже если у вас есть systemd, у вас все еще может быть папка etc / init.d
    Я предпочитаю использовать другую команду, например ps или pstree, и не злоупотреблять sudo-this-sudo-that.
    привет

  2.   CRISTIAN сказал

    Команда "service" работает как в системах init.d, так и в systemd.