Init
init - Initieringsprocessens fader
Kommandot `init` är den första processen som startas av kärnan i Unix-liknande operativsystem och är ansvarig för att starta och hantera andra systemprocesser.
Syntax
init [RUNLEVEL]
Beskrivning
Kommandot `init` används för att initiera systemet och hantera runlevels, som definierar vilka tjänster och processer som ska köras vid olika systemtillstånd. Det är kärnans första användarprocess och har alltid process-ID 1.
Alternativ
Kommandot `init` har traditionellt sett få alternativ eftersom det främst styrs av konfigurationsfiler. Här är några vanliga alternativ och argument:
- RUNLEVEL - Sätt systemet i ett specifikt runlevel. Vanliga runlevels är:
* 0 - Stäng av systemet * 1 - Enanvändarläge * 3 - Flernätverksläge (textläge) * 5 - Flernätverksläge (grafiskt läge) * 6 - Starta om systemet
Exempel
Här är några praktiska exempel som visar hur du kan använda `init`-kommandot:
- För att stänga av systemet:
sudo init 0
- För att starta om systemet:
sudo init 6
- För att sätta systemet i enanvändarläge:
sudo init 1
- För att växla till flernätverksläge (textläge):
sudo init 3
- För att växla till flernätverksläge (grafiskt läge):
sudo init 5
Skillnader mellan macOS och Linux
Det finns betydande skillnader mellan hur macOS och Linux hanterar systeminitiering och runlevels:
- Init-system: Traditionella Linux-system använder System V init för att hantera runlevels. Moderna Linux-distributioner har dock oftast ersatt detta med `systemd`, som använder "targets" istället för runlevels. macOS använder `launchd` som sitt init-system och hanterar tjänster med `launchctl`.
- Runlevels vs Targets: På systemd-baserade system har runlevels ersatts med "targets". Till exempel motsvarar `runlevel 3` i System V init ungefär `multi-user.target` i systemd.
- Init-kommando: På systemd-baserade Linux-system används kommandot `systemctl` för att hantera systemets tillstånd. Exempelvis ersätter `systemctl isolate multi-user.target` kommandot `init 3`.
Exempel på att stänga av systemet:
- På traditionella Linux-system:
sudo init 0
- På systemd-baserade Linux-system:
sudo systemctl poweroff
- På macOS:
sudo shutdown -h now
Det är alltid bra att konsultera `man`-sidan för `init` eller `systemctl` på din specifika plattform 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 `init`, kontrollera följande:
- Att du har tillräckliga rättigheter för att ändra systemets runlevel (använd `sudo` om nödvändigt).
- Att du använder rätt syntax och argument för ditt specifika system.
- Att init-systemets konfigurationsfiler är korrekt konfigurerade och inte innehåller fel.
Se även
- systemctl - Hantera systemd-tjänster på moderna Linux-distributioner.
- shutdown - Stäng av eller starta om systemet.
- reboot - Starta om systemet.
- launchctl - Hantera tjänster och startprocesser på macOS.