Administrer tjenester i din GNU / Linux-distribution

init Linux-skema

Når man arbejder med tjenester i en distroafhængigt af den type system du bruger (SysV init, Upstart, systemd,...), kan måden, hvorpå tjenester kan stoppes, startes, stoppes, genstartes osv. variere. Det er et punkt, hvor mange tvivler på, hvordan det rent faktisk gøres, og det, at der er flere forskellige systemer, hjælper ikke nogle mere uerfarne brugere, som forsøger at gøre det med den forkerte kommando.

Af denne grund vil jeg vise en simpel tutorial, hvormed det vil være tydeligere, hvordan du kan arbejde i din distro, hvad end det er. For at gøre dette er den første ting du skal være klar over, hvilken type dæmon du bruger. Som sagt er det ikke alle distros, der bruger det samme start systemtype. Faktisk, som du ved, har nogle modsat det nye systemd og har genereret gafler eller derivater med det gamle SysV, som det er tilfældet med Devuan med hensyn til Debian...

Hvordan kender jeg det system, som min distro bruger? Nå, du kan finde ud af det ved at lede efter disse ruter, og hvis du har dem, vil du have det system i din distro:

  • For at vide, om du har systemd: kig efter stien /usr/lib/systemd
  • For at vide, om du har Upstart: kig efter denne anden sti /usr/share/upstart
  • For at vide, om du har SysV init: kig efter stien /etc/init.d
  • Der andre, selvom det er noget sjældnere, kan du i de særlige tilfælde gøre noget lignende, hvis du har mistanke om, at de ikke er ovenstående.

Endnu en måde at gøre det endnu nemmere på, fordi det er ens for alle, er at lede efter info i /proc om PID=1, det vil sige den første proces, som resten hænger fra, og som svarer præcist til denne opstartsdæmon. For at gøre dette skal du bare køre følgende kommando, og det vil returnere navnet:

sudo stat /proc/1/exe

Nu ved du hvilket system du har, derfor skal vi til de kommandoer, du kan bruge til at administrere tjenester:

  • sysv init: /etc/init.d/[service_daemon_name] [handling]
  • systemd: systemctl [handling] [service_daemon_name]
  • Upstart: tjeneste [service_daemon_name] [handling]
  • andre: Hvis du bruger et andet system, må du hellere se i manualen. For eksempel kan nogle sjældne tilfælde på Linux og andre Unix'er bruge SIGHUP-processignalet til at nulstille en tjeneste: kill -HUP $(cat /var/run/[service-PID])

du bør erstatte [handling] for hvad du skal gøre. Hvis du for eksempel skal genstarte, skal du bruge reset, hvis du vil stoppe, skal du bruge stop, hvis du vil starte, bruge stjerne osv. Og erstat [service_daemon_name] med navnet på den service-dæmon du vil starte. For eksempel:

systemctl reset httpd

Jeg håber nu, det er mere klart for dig.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   CRISTIAN sagde han

    Findes der stadig systemer med upstart? Jeg tror bare noget gammelt Ubuntu.
    Også selvom du har systemd, kan du stadig have mappen etc/init.d
    Jeg foretrækker at bruge en anden kommando som ps eller pstree, og ikke misbruge sudo-this-sudo-that.
    hilsen

  2.   CRISTIAN sagde han

    Kommandoen "service" virker på både init.d og systemd systemer