Launchctl
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.