I Linux er en daemon en prosess som kjører i bakgrunnen uten direkte brukermedvirkning. Dæmoner er en del av operativsystemet og tilbyr en rekke funksjoner, for eksempel nettverkstjenester, disktjenester, utskriftstjenester osv.
Kjøres vanligvis ved oppstart av systemet og forblir aktive i bakgrunnen til systemet slås av. De har ikke noe direkte brukergrensesnitt og styres vanligvis gjennom konfigurasjonsfiler eller kommandolinjekommandoer.
Linux-daemoner har vanligvis et navn som slutter på "d", for eksempel httpd, named og sshd. De startes ved hjelp av spesielle kommandoer som systemctl
, service
eller daemon
. De er en viktig del av Linux-operativsystemet, ettersom de sørger for at ulike tjenester og applikasjoner fungerer og kjører i bakgrunnen.
Daemoner i Linux kan startes på flere måter. La oss ta en titt på de vanligste metodene for å starte dem.
Service-kommandoen
kan brukes til å starte, stoppe og starte daemoner på nytt på Linux-systemer som bruker init-skript. Hvis du for eksempel vil starte Apache HTTP Server-dæmonen, kjører du følgende kommando:
sudo service apache2 start
Systemctl-kommandoen
brukes til å administrere daemoner på Linux-systemer som bruker systemd
. Hvis du for eksempel vil starte SSH-demonen, må du kjøre følgende kommando:
sudo systemctl start sshd
I noen Linux-distribusjoner kan daemoner startes via init-skript, som ligger i katalogen /etc/init.d.
Hvis du for eksempel vil starte MySQL-demonen, må du kjøre følgende kommando:
sudo /etc/init.d/mysql start
På Linux-systemer som bruker systemd
, anbefales det å bruke unit-filer for å kjøre daemoner. Unit-filer er tekstfiler som inneholder en beskrivelse av tjenesten eller prosessen som skal startes på systemet. De spesifiserer parameterne for å starte daemon, for eksempel bruker, gruppe, arbeidskatalog, startkommando og andre alternativer.
Unit-filer lagres i katalogen /etc/systemd/system/
. I denne katalogen kan du opprette dine egne enhetsfiler eller endre eksisterende filer. Når du har opprettet eller endret en enhetsfil, må du starte systemd
på nytt ved hjelp av kommandoen systemctl daemon-reload
for at endringene skal tre i kraft.