Init: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== 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 a...')
(Ingen skillnad)

Versionen från 27 maj 2024 kl. 06.55

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.

Källor