Systemctl: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== systemctl - Kontrollera systemd-system och tjänster == Kommandot `systemctl` används för att undersöka och kontrollera systemd-system och tjänster i Linux-operativsystem. === Syntax === systemctl [ALTERNATIV] KOMMANDO === Beskrivning === Kommandot `systemctl` är ett kraftfullt verktyg för att kontrollera systemd-system och tjänster. Det används för att starta, stoppa, aktivera och inaktivera tjänster, samt för att visa status för system- och tjänsteen...')
 
Ingen redigeringssammanfattning
 
Rad 1: Rad 1:
== systemctl - Kontrollera systemd-system och tjänster ==
== systemctl - Kontrollera systemd-system och tjänster ==
Kommandot `systemctl` används för att undersöka och kontrollera systemd-system och tjänster i Linux-operativsystem.
Kommandot `systemctl` används för att kontrollera och hantera systemd-system och tjänster i Unix-liknande operativsystem.


=== Syntax ===
=== Syntax ===
  systemctl [ALTERNATIV] KOMMANDO
  systemctl [ALTERNATIV] [KOMMANDO]


=== Beskrivning ===
=== Beskrivning ===
Kommandot `systemctl` är ett kraftfullt verktyg för att kontrollera systemd-system och tjänster. Det används för att starta, stoppa, aktivera och inaktivera tjänster, samt för att visa status för system- och tjänsteenheter.
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 ===
=== Alternativ ===
Kommandot `systemctl` stöder flera alternativ som kan användas för att justera hur kommandon utförs:
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.
* -h, --help - Visa hjälpmeddelande och avsluta.
* --version - Visa versionsinformation och avsluta.
* --version - Visa versionsinformation och avsluta.
* -t, --type=TYPE - Begränsa resultaten till enhetstyper (service, socket, target, etc.).
* --state=STATE - Begränsa resultaten till enhetsstatus (active, inactive, failed, etc.).
* -a, --all - Visa alla enheter, inklusive inaktiva.
* --failed - Visa endast misslyckade enheter.
* --plain - Visa utdata utan dekorationer.
* --no-pager - Visa utdata utan sidbrytningar.
* --no-legend - Visa utdata utan rubrikrad.


=== Kommandon ===
=== Kommandon ===
Kommandot `systemctl` stöder flera olika kommandon som används för specifika kontrolluppgifter:
`systemctl` stöder flera kommandon för att kontrollera och hantera tjänster:


* **start** - Starta en tjänst.
* start UNIT - Starta en enhet (tjänst).
* **stop** - Stoppa en tjänst.
* stop UNIT - Stoppa en enhet (tjänst).
* **restart** - Starta om en tjänst.
* restart UNIT - Starta om en enhet (tjänst).
* **reload** - Ladda om en tjänsts konfiguration utan att stoppa den.
* reload UNIT - Läs om konfigurationsfiler för en enhet.
* **enable** - Aktivera en tjänst så att den startar vid uppstart.
* enable UNIT - Aktivera en enhet vid systemstart.
* **disable** - Inaktivera en tjänst så att den inte startar vid uppstart.
* disable UNIT - Inaktivera en enhet vid systemstart.
* **status** - Visa status för en tjänst.
* status UNIT - Visa status för en enhet.
* **is-active** - Kontrollera om en tjänst är aktiv.
* is-active UNIT - Kontrollera om en enhet är aktiv.
* **is-enabled** - Kontrollera om en tjänst är aktiverad.
* is-enabled UNIT - Kontrollera om en enhet är aktiverad vid systemstart.
* **list-units** - Lista alla enheter.
* daemon-reload - Läs om systemd-konfigurationsfiler.
* **list-dependencies** - Visa beroenden för en enhet.
* **daemon-reload** - Ladda om systemd-konfigurationsfiler.
* **mask** - Maskera en tjänst för att förhindra att den startar.
* **unmask** - Avmaskera en tjänst så att den kan starta igen.


=== Exempel ===
=== Exempel ===
Rad 44: Rad 42:
* För att starta en tjänst:
* För att starta en tjänst:
  <code>
  <code>
  sudo systemctl start apache2
  sudo systemctl start httpd
  </code>
  </code>


* För att stoppa en tjänst:
* För att stoppa en tjänst:
  <code>
  <code>
  sudo systemctl stop apache2
  sudo systemctl stop httpd
  </code>
  </code>


* För att starta om en tjänst:
* För att starta om en tjänst:
  <code>
  <code>
  sudo systemctl restart apache2
  sudo systemctl restart httpd
</code>
 
* För att ladda om en tjänsts konfiguration:
<code>
sudo systemctl reload apache2
  </code>
  </code>


* För att aktivera en tjänst vid uppstart:
* För att aktivera en tjänst vid systemstart:
  <code>
  <code>
  sudo systemctl enable apache2
  sudo systemctl enable httpd
  </code>
  </code>


* För att inaktivera en tjänst vid uppstart:
* För att inaktivera en tjänst vid systemstart:
  <code>
  <code>
  sudo systemctl disable apache2
  sudo systemctl disable httpd
  </code>
  </code>


* För att visa status för en tjänst:
* För att visa status för en tjänst:
  <code>
  <code>
  systemctl status apache2
  systemctl status httpd
  </code>
  </code>


* För att kontrollera om en tjänst är aktiv:
* För att kontrollera om en tjänst är aktiv:
  <code>
  <code>
  systemctl is-active apache2
  systemctl is-active httpd
  </code>
  </code>


* För att lista alla enheter:
* För att läsa om systemd-konfigurationsfiler:
  <code>
  <code>
  systemctl list-units
  sudo systemctl daemon-reload
  </code>
  </code>


* För att ladda om systemd-konfigurationsfiler:
=== Skillnader mellan macOS och Linux ===
<code>
Det finns några viktiga skillnader att tänka på när man använder `systemctl`-kommandot på macOS jämfört med Linux:
sudo systemctl daemon-reload
 
</code>
* 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.


* För att maskera en tjänst:
Exempel på att hantera tjänster på macOS med `launchctl`:
* För att starta en tjänst:
  <code>
  <code>
  sudo systemctl mask apache2
  sudo launchctl load /Library/LaunchDaemons/com.example.service.plist
  </code>
  </code>


* För att avmaskera en tjänst:
* För att stoppa en tjänst:
  <code>
  <code>
  sudo systemctl unmask apache2
  sudo launchctl unload /Library/LaunchDaemons/com.example.service.plist
  </code>
  </code>


=== Skillnader mellan macOS och Linux ===
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.
Det finns några viktiga skillnader att tänka på när man använder `systemctl`-kommandot macOS jämfört med Linux:
 
* Systemd: `systemctl` är specifikt för systemd-system och finns inte på macOS. macOS använder launchd för att hantera tjänster och startprocesser.
* Kommandon: På macOS används launchctl för att hantera tjänster. Exempel: `sudo launchctl load /Library/LaunchDaemons/com.example.service.plist` för att starta en tjänst.
* Konfiguration: Tjänstekonfigurationer på macOS hanteras med plist-filer i /Library/LaunchDaemons och /Library/LaunchAgents, medan systemd på Linux använder enhetsfiler i /etc/systemd/system och /lib/systemd/system.
 
Det är alltid bra att konsultera dokumentationen för tjänstehantering på din specifika plattform för att se vilka alternativ och funktioner som är tillgängliga och hur de används.


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


* Att systemd är korrekt installerat och konfigurerat på ditt system.
* Att du har tillräckliga rättigheter för att hantera tjänster (använd `sudo` om nödvändigt).
* Att du har tillräckliga rättigheter för att kontrollera 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 tjänstens enhetsfil är korrekt konfigurerad och placerad i rätt katalog.
* Att du använder rätt syntax och alternativ för ditt specifika kommando.


=== Se även ===
=== Se även ===
* [[launchctl]] - Hantera tjänster och startprocesser på macOS.
* [[service]] - Ett verktyg för att köra System V init-skript.
* [[service]] - Hantera System V-tjänster på äldre Linux-system.
* [[init]] - En äldre init-process.
* [[init]] - Traditionellt init-system på Unix-liknande system.
* [[launchctl]] - Hantera tjänster och startkonfiguration på macOS.
* [[systemd-analyze]] - Analysera och optimera systemd-uppstartstid.


=== Källor ===
=== Källor ===
* [https://www.freedesktop.org/software/systemd/man/systemctl.html systemctl manual (freedesktop.org)]
* [https://www.gnu.org/software/coreutils/manual/html_node/systemctl.html GNU coreutils manual - systemctl]
* [https://man7.org/linux/man-pages/man1/systemctl.1.html systemctl manual (Linux)]
* [https://man7.org/linux/man-pages/man1/systemctl.1.html systemctl manual (Linux)]
* [https://ss64.com/osx/launchctl.html launchctl manual (macOS)]
* [https://support.apple.com/guide/terminal/welcome/mac Apple Support - Terminal]


[[Kategori:Linuxkommandon]]
[[Kategori:Unix-kommandon]]

Nuvarande version från 27 maj 2024 kl. 14.20

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