Launchctl

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

launchctl - Hantera launchd-tjänster

Kommandot `launchctl` används för att hantera launchd-tjänster i macOS. launchd är init-systemet som används i macOS för att starta, stoppa och hantera system- och användartjänster.

Syntax

launchctl [ALTERNATIV] [SUBKOMMANDO] [ARGUMENT]

Beskrivning

Kommandot `launchctl` används för att ladda, lossa, starta, stoppa och hantera launchd-tjänster och deras konfigurationsfiler. launchd är init-systemet som hanterar system- och användartjänster i macOS.

Alternativ

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

  • `bootstrap` [--override] [domän fil] - Ladda tjänster från en specificerad domän och plistsfil.
  • `bootout` [domän fil] - Ta bort tjänster från en specificerad domän och plistsfil.
  • `enable` [tjänst] - Aktivera en tjänst.
  • `disable` [tjänst] - Inaktivera en tjänst.
  • `kickstart` [--kill | --terminate | --background] [tjänst] - Starta om en tjänst omedelbart.
  • `kill` [signal] [tjänst] - Skicka en signal till en tjänst.
  • `blame` [tjänst] - Visa information om varför en tjänst startades.
  • `print` [tjänst] - Skriv ut tjänstens konfiguration.
  • `list` [tjänst] - Lista alla laddade tjänster eller detaljer om en specifik tjänst.
  • `load` [-w] [fil] - Ladda tjänster från en plistsfil (för äldre macOS-versioner).
  • `unload` [-w] [fil] - Lossa tjänster från en plistsfil (för äldre macOS-versioner).

Exempel

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

  • För att ladda en tjänst från en plistsfil:

sudo launchctl bootstrap system /Library/LaunchDaemons/com.example.service.plist

  • För att ta bort en tjänst:

sudo launchctl bootout system /Library/LaunchDaemons/com.example.service.plist

  • För att aktivera en tjänst:

sudo launchctl enable system/com.example.service

  • För att inaktivera en tjänst:

sudo launchctl disable system/com.example.service

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

sudo launchctl kickstart -k system/com.example.service

  • För att lista alla laddade tjänster:

launchctl list

  • För att skriva ut konfigurationen för en specifik tjänst:

launchctl print system/com.example.service

Skillnader mellan macOS och Linux

Det finns betydande skillnader mellan hur macOS och Linux hanterar system- och användartjänster:

  • Init-system: macOS använder `launchd` som sitt init-system, medan de flesta moderna Linux-distributioner använder `systemd`. Tidigare Linux-distributioner använde System V init eller Upstart.
  • Hanteringsverktyg: På macOS används `launchctl` för att hantera tjänster, medan `systemctl` används på systemd-baserade Linux-system.
  • Konfigurationsfiler: macOS använder plistsfiler för att konfigurera tjänster, medan Linux-systemd använder enhetsfiler med `.service`-suffixet.
  • Standardplaceringar: Tjänstekonfigurationsfiler i macOS placeras i `/Library/LaunchDaemons` eller `/Library/LaunchAgents` för systemtjänster, och `~/Library/LaunchAgents` för användartjänster. På systemd-baserade Linux-system placeras tjänstekonfigurationer i `/etc/systemd/system` och `/lib/systemd/system`.

Exempel på att starta en tjänst:

  • På macOS:

sudo launchctl bootstrap system /Library/LaunchDaemons/com.example.service.plist

  • På Linux:

sudo systemctl start example.service

Det är alltid bra att konsultera `man`-sidan för `launchctl` på macOS och `systemctl` på Linux 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 `launchctl`, kontrollera följande:

  • Att konfigurationsfilen är korrekt formaterad och placerad i rätt katalog.
  • Att du har tillräckliga rättigheter för att ladda eller lossa tjänsten (använd `sudo` om nödvändigt).
  • Att tjänsten är korrekt definierad och inte innehåller några fel.

Se även

  • systemctl - Hantera systemd-tjänster på moderna Linux-distributioner.
  • service - Hantera System V-tjänster på äldre Linux-system.== launchctl - Hantera launchd-tjänster ==

Kommandot `launchctl` används för att hantera launchd-tjänster i macOS. launchd är init-systemet som används i macOS för att starta, stoppa och hantera system- och användartjänster.

Syntax

launchctl [ALTERNATIV] [SUBKOMMANDO] [ARGUMENT]

Beskrivning

Kommandot `launchctl` används för att ladda, lossa, starta, stoppa och hantera launchd-tjänster och deras konfigurationsfiler. launchd är init-systemet som hanterar system- och användartjänster i macOS.

Alternativ

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

  • `bootstrap` [--override] [domän fil] - Ladda tjänster från en specificerad domän och plistsfil.
  • `bootout` [domän fil] - Ta bort tjänster från en specificerad domän och plistsfil.
  • `enable` [tjänst] - Aktivera en tjänst.
  • `disable` [tjänst] - Inaktivera en tjänst.
  • `kickstart` [--kill | --terminate | --background] [tjänst] - Starta om en tjänst omedelbart.
  • `kill` [signal] [tjänst] - Skicka en signal till en tjänst.
  • `blame` [tjänst] - Visa information om varför en tjänst startades.
  • `print` [tjänst] - Skriv ut tjänstens konfiguration.
  • `list` [tjänst] - Lista alla laddade tjänster eller detaljer om en specifik tjänst.
  • `load` [-w] [fil] - Ladda tjänster från en plistsfil (för äldre macOS-versioner).
  • `unload` [-w] [fil] - Lossa tjänster från en plistsfil (för äldre macOS-versioner).

Exempel

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

  • För att ladda en tjänst från en plistsfil:

sudo launchctl bootstrap system /Library/LaunchDaemons/com.example.service.plist

  • För att ta bort en tjänst:

sudo launchctl bootout system /Library/LaunchDaemons/com.example.service.plist

  • För att aktivera en tjänst:

sudo launchctl enable system/com.example.service

  • För att inaktivera en tjänst:

sudo launchctl disable system/com.example.service

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

sudo launchctl kickstart -k system/com.example.service

  • För att lista alla laddade tjänster:

launchctl list

  • För att skriva ut konfigurationen för en specifik tjänst:

launchctl print system/com.example.service

Skillnader mellan macOS och Linux

Det finns betydande skillnader mellan hur macOS och Linux hanterar system- och användartjänster:

  • Init-system: macOS använder `launchd` som sitt init-system, medan de flesta moderna Linux-distributioner använder `systemd`. Tidigare Linux-distributioner använde System V init eller Upstart.
  • Hanteringsverktyg: På macOS används `launchctl` för att hantera tjänster, medan `systemctl` används på systemd-baserade Linux-system.
  • Konfigurationsfiler: macOS använder plistsfiler för att konfigurera tjänster, medan Linux-systemd använder enhetsfiler med `.service`-suffixet.
  • Standardplaceringar: Tjänstekonfigurationsfiler i macOS placeras i `/Library/LaunchDaemons` eller `/Library/LaunchAgents` för systemtjänster, och `~/Library/LaunchAgents` för användartjänster. På systemd-baserade Linux-system placeras tjänstekonfigurationer i `/etc/systemd/system` och `/lib/systemd/system`.

Exempel på att starta en tjänst:

  • På macOS:

sudo launchctl bootstrap system /Library/LaunchDaemons/com.example.service.plist

  • På Linux:

sudo systemctl start example.service

Det är alltid bra att konsultera `man`-sidan för `launchctl` på macOS och `systemctl` på Linux 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 `launchctl`, kontrollera följande:

  • Att konfigurationsfilen är korrekt formaterad och placerad i rätt katalog.
  • Att du har tillräckliga rättigheter för att ladda eller lossa tjänsten (använd `sudo` om nödvändigt).
  • Att tjänsten är korrekt definierad och inte innehåller några fel.

Se även

  • systemctl - Hantera systemd-tjänster på moderna Linux-distributioner.
  • service - Hantera System V-tjänster på äldre Linux-system.
  • init - Traditionellt init-system på Unix-liknande system.

Källor

  • init - Traditionellt init-system på Unix-liknande system.

Källor

Sidslut


Det här är en maskinöversättning av linux kommando manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorhjälp som har sponsrat Linux.se med webserver.