Zarządzaj usługami w swojej dystrybucji GNU / Linux

init Linux schema

Podczas pracy z usługi w dystrybucjiW zależności od typu używanego systemu (SysV init, Upstart, systemd,…), sposób, w jaki usługi mogą być zatrzymywane, uruchamiane, zatrzymywane, restartowane itp. Może się różnić. Jest to punkt, w którym wielu wątpi, jak to się właściwie robi, a fakt, że istnieje kilka różnych systemów, nie pomaga bardziej niedoświadczonym użytkownikom, którzy próbują to zrobić złym poleceniem.

Dlatego pokażę prosty samouczek, dzięki któremu będzie dla ciebie jaśniejsze, jak możesz pracować w swojej dystrybucji, cokolwiek to jest. Aby to zrobić, pierwszą rzeczą, o której musisz wiedzieć, jest rodzaj demona, którego używasz. Jak powiedziałem, nie wszystkie dystrybucje używają tego samego typ systemu startowego. W rzeczywistości, jak wiesz, niektórzy sprzeciwiają się nowemu systemd i wygenerowali forki lub pochodne ze starym SysV, tak jak ma to miejsce w przypadku Devuana w porównaniu z Debianem ...

Skąd mam wiedzieć, z jakiego systemu korzysta moja dystrybucja? Możesz się tego dowiedzieć, szukając tych tras, a jeśli je masz, będziesz mieć ten system w swojej dystrybucji:

  • Aby wiedzieć, czy masz systemd: znajdź ścieżkę / usr / lib / systemd
  • Aby wiedzieć, czy masz Upstart: znajdź tę inną ścieżkę / usr / share / upstart
  • Aby wiedzieć, czy masz init SysV: znajdź ścieżkę /etc/init.d
  • Siano inniNawet jeśli jest to trochę rzadsze, w tych szczególnych przypadkach możesz zrobić coś podobnego, jeśli podejrzewasz, że nie są one wymienione powyżej.

Kolejny sposób, aby było to jeszcze łatwiejszeponieważ dla każdego jest tak samo, to w / proc należy szukać informacji o PID = 1, czyli o pierwszym procesie, z którego reszta się zawiesza i który dokładnie odpowiada temu demonowi startowemu. Aby to zrobić, po prostu uruchom następujące polecenie, a zwróci ono nazwę:

sudo stat /proc/1/exe

Teraz już wiesz, jaki masz system, więc przejdźmy polecenia, których możesz używać do zarządzania usługami:

  • Rozpoczęcie SysV: /etc/init.d/[service_demon_name] [akcja]
  • systemd: systemctl [akcja] [nazwa_ demona_usługi]
  • Dorobkiewicz: usługa [nazwa_demon_usługi] [akcja]
  • inni: Jeśli używasz innego systemu, lepiej zapoznaj się z instrukcją. Na przykład w niektórych rzadkich przypadkach w Linuksie i innych Uniksach sygnał z procesu SIGHUP może być używany do resetowania usługi: kill -HUP $ (cat / var / run / [service-PID])

zalecana zamień [czynność] za to, co musisz zrobić. Na przykład, jeśli chcesz ponownie uruchomić, użyj resetowania, jeśli chcesz przestać, użyj stop, jeśli chcesz rozpocząć, użyj gwiazdki itp. I zamień [daemon_name] na nazwę demona usługi, którą chcesz uruchomić. Na przykład:

systemctl reset httpd

Mam nadzieję, że teraz masz to jaśniej.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   CRISTIAN powiedział

    Czy nadal istnieją systemy z upstartem? Myślę, że tylko jakiś stary Ubuntu.
    Nawet jeśli masz systemd, nadal możesz mieć folder etc / init.d
    Wolę użyć innego polecenia, takiego jak ps lub pstree, i nie nadużywać sudo-this-sudo-that.
    pozdrowienia

  2.   CRISTIAN powiedział

    Polecenie „service” działa zarówno w systemie init.d, jak i systemd