Hvornår skal du vælge Type=simple eller Type=forking i en systemd unit fil?

Hvornår bør man vælge mellem forking og simple for Type i en systemd unit fil?

Valget mellem forking og simple for Type i en systemd unit fil afhænger af, om din service kører i forgrunden (simple) eller forgrener sig til en ny proces (forking).

Hvornår bør man vælge mellem forking og simple for Type i en systemd unit fil?

Valget mellem forking og simple for Type i en systemd unit fil afhænger af, hvordan din service starter og kører. Her er nogle retningslinjer for, hvornår du bør vælge hver type:

Type=simple

Brug Type=simple når:

  • Din service kører i forgrunden og ikke forgrener sig (forks) til en ny proces.
  • Du ønsker en enkel konfiguration uden behov for yderligere processtyring.
  • Din service ikke kræver nogen speciel håndtering af opstart eller nedlukning.
  • Du vil have systemd til at betragte servicen som startet, så snart hovedprocessen er startet.

Eksempel:

[Unit]
Description=Simple Service

[Service]
ExecStart=/usr/bin/simple-service
Type=simple

[Install]
WantedBy=multi-user.target

Type=forking

Brug Type=forking når:

  • Din service forgrener sig (forks) til en ny proces og afslutter den oprindelige proces hurtigt.
  • Du har en dæmon (daemon), der kører i baggrunden efter opstart.
  • Du ønsker, at systemd skal vente, indtil den oprindelige proces er afsluttet, før den betragter servicen som startet.
  • Din service kræver speciel håndtering af PID-filer eller andre opstartsparametre.

Eksempel:

[Unit]
Description=Forking Service

[Service]
ExecStart=/usr/bin/forking-service
Type=forking
PIDFile=/var/run/forking-service.pid

[Install]
WantedBy=multi-user.target

Ved at vælge den rigtige Type for din systemd unit fil, kan du sikre, at din service håndteres korrekt af systemd, hvilket kan forbedre pålideligheden og ydeevnen af dit system.