Керуйте службами у вашому дистрибутиві GNU / Linux

init схема Linux

При роботі з послуги в дистрибутивіЗалежно від типу системи, яку ви використовуєте (SysV init, Upstart, systemd,…), спосіб зупинки, запуску, зупинки, перезапуску послуг тощо може бути різним. Це момент, коли багато хто сумнівається, як це робиться насправді, і той факт, що існує кілька різних систем, не допомагає деяким недосвідченішим користувачам, які намагаються зробити це за неправильною командою.

Тому я збираюся показати простий підручник, за допомогою якого вам буде зрозуміліше, як ви можете працювати у своєму дистрибутиві, яким би він не був. Для цього перше, що ви повинні чітко зрозуміти, - це тип демона, якого ви використовуєте. Як я вже сказав, не всі дистрибутиви використовують одне і те ж тип системи запуску. Насправді, як ви знаєте, деякі виступали проти нового systemd і генерували форки або похідні зі старим SysV, як у випадку з Devuan порівняно з Debian ...

Як я знаю, якою системою користується мій дистрибутив? Ну, ви можете дізнатися, шукаючи ці маршрути, і якщо вони у вас є, ви матимете таку систему у своєму дистрибутиві:

  • Щоб знати, чи маєте ви systemd: знайти шлях / usr / lib / systemd
  • Щоб знати, чи є у вас Upstart: знайти цей інший шлях / usr / share / upstart
  • Щоб знати, чи є у вас inys SysV: знайти шлях /etc/init.d
  • Сінний іншіНавіть якщо це трохи рідше, у цих конкретних випадках ви можете зробити щось подібне, якщо підозрюєте, що вони не є вищезазначеними.

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

sudo stat /proc/1/exe

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

  • Inys SysV: /etc/init.d/ [ім'я_демонстраційного_сервісу] [дія]
  • systemd: systemctl [дія] [ім'я_демона]
  • Вискочка: послуга [ім'я_демона_сервісу] [дія]
  • інші: Якщо ви використовуєте іншу систему, краще подивіться посібник. Наприклад, деякі рідкісні випадки в Linux та інших Unix можуть використовувати сигнал процесу SIGHUP для скидання служби: kill -HUP $ (cat / var / run / [service-PID])

ви повинні замінити [дія] за те, що вам потрібно зробити. Наприклад, якщо вам потрібно перезапустити, використовуйте скидання, якщо ви хочете припинити використання, зупиніть, якщо ви хочете почати використовувати зірку тощо. І замініть [daemon_name] на ім'я демона служби, яку ви хочете запустити. Наприклад:

systemctl reset httpd

Я сподіваюся, вам зараз це стане ясніше.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   CRISTIAN - сказав він

    Чи існують досі системи з вискочкою? Я думаю, що це лише старе Ubuntu.
    Крім того, навіть якщо у вас є systemd, ви все одно можете мати папку etc / init.d
    Я вважаю за краще використовувати якусь іншу команду, таку як ps або pstree, а не зловживати sudo-this-sudo-that.
    привіт

  2.   CRISTIAN - сказав він

    Команда "service" працює як на системах init.d, так і на systemd