Systemctl

Från Wiki.linux.se
(Omdirigerad från systemctl)
Hoppa till navigering Hoppa till sök

systemctl - Kontrollera systemd-system och tjänster

Kommandot `systemctl` används för att kontrollera och hantera systemd-system och tjänster i Unix-liknande operativsystem.

Syntax

systemctl [ALTERNATIV] [KOMMANDO]

Beskrivning

Kommandot `systemctl` används för att undersöka och kontrollera systemd-system och tjänster. Det kan starta, stoppa, aktivera och inaktivera tjänster, samt visa deras status.

Alternativ

Kommandot `systemctl` stöder flera alternativ som kan användas för att justera hur tjänster hanteras och visas:

  • -t, --type=TYPE - Begränsa visning till en viss enhetstyp.
  • --state=STATE - Begränsa visning till enheter i ett visst tillstånd.
  • -a, --all - Visa alla enheter, inklusive inaktiva.
  • --failed - Visa endast misslyckade enheter.
  • -l, --full - Visa inte klippta enhetsnamn och egenskaper.
  • --reverse - Invertera sorteringsordningen.
  • -q, --quiet - Visa inga meddelanden.
  • --no-pager - Använd inte sidvisare för utdata.
  • --no-legend - Visa inte rubrik och ledtext.
  • -h, --help - Visa hjälpmeddelande och avsluta.
  • --version - Visa versionsinformation och avsluta.

Kommandon

`systemctl` stöder flera kommandon för att kontrollera och hantera tjänster:

  • start UNIT - Starta en enhet (tjänst).
  • stop UNIT - Stoppa en enhet (tjänst).
  • restart UNIT - Starta om en enhet (tjänst).
  • reload UNIT - Läs om konfigurationsfiler för en enhet.
  • enable UNIT - Aktivera en enhet vid systemstart.
  • disable UNIT - Inaktivera en enhet vid systemstart.
  • status UNIT - Visa status för en enhet.
  • is-active UNIT - Kontrollera om en enhet är aktiv.
  • is-enabled UNIT - Kontrollera om en enhet är aktiverad vid systemstart.
  • daemon-reload - Läs om systemd-konfigurationsfiler.

Exempel

Här är några praktiska exempel som visar hur du kan använda `systemctl`-kommandot:

  • För att starta en tjänst:

sudo systemctl start httpd

  • För att stoppa en tjänst:

sudo systemctl stop httpd

  • För att starta om en tjänst:

sudo systemctl restart httpd

  • För att aktivera en tjänst vid systemstart:

sudo systemctl enable httpd

  • För att inaktivera en tjänst vid systemstart:

sudo systemctl disable httpd

  • För att visa status för en tjänst:

systemctl status httpd

  • För att kontrollera om en tjänst är aktiv:

systemctl is-active httpd

  • För att läsa om systemd-konfigurationsfiler:

sudo systemctl daemon-reload

Skillnader mellan macOS och Linux

Det finns några viktiga skillnader att tänka på när man använder `systemctl`-kommandot på macOS jämfört med Linux:

  • Tillgänglighet: `systemctl` är ett verktyg som är specifikt för systemd-baserade Linux-distributioner. Det är inte tillgängligt på macOS, eftersom macOS använder launchd istället för systemd.
  • Init-system: På macOS används launchd som init-system, medan de flesta moderna Linux-distributioner använder systemd. Detta innebär att tjänstehantering på macOS görs med `launchctl` istället för `systemctl`.
  • Kommandostruktur: `systemctl` och `launchctl` har olika syntax och kommandostrukturer för att hantera tjänster.

Exempel på att hantera tjänster på macOS med `launchctl`:

  • För att starta en tjänst:

sudo launchctl load /Library/LaunchDaemons/com.example.service.plist

  • För att stoppa en tjänst:

sudo launchctl unload /Library/LaunchDaemons/com.example.service.plist

Det är alltid bra att konsultera dokumentationen för `systemctl` på Linux och `launchctl` på macOS för att se vilka alternativ och funktioner som är tillgängliga och hur de används.

Felsökning

Om du får ett felmeddelande när du använder `systemctl`, kontrollera följande:

  • Att du har tillräckliga rättigheter för att hantera tjänster (använd `sudo` om nödvändigt).
  • Att enheten eller tjänsten du försöker hantera faktiskt existerar och är korrekt konfigurerad.
  • Att du använder rätt syntax och alternativ för ditt specifika kommando.

Se även

  • service - Ett verktyg för att köra System V init-skript.
  • init - En äldre init-process.
  • launchctl - Hantera tjänster och startkonfiguration på macOS.

Källor