Da Linux-operativsystemet er karakteriseret som et multitasking-operativsystem, er en dæmon pr. Definition et program, der løbende udføres som en baggrundsproces. Kort sagt er udførelsen af denne proces ikke afhængig af en aktiv brugers systeminteraktion. En normal systembruger kan ikke kontrollere den periodiske udførelse af en dæmonproces.
Navngivningskonventionen, der definerer de fleste dæmonprocesser, er et bogstav 'suffiks' d. Denne navngivningskonvention gør det muligt at skelne mellem normale systemprocesser og dæmondrevne processer. For eksempel, sshd er en dæmonproces, der er ansvarlig for styringen af indgåendeSSH forbindelser. Et andet eksempel på en dæmonproces ersyslogd. Det er ansvarligt for Linux-systemlogfunktionen.
I et Linux-miljø er lanceringen af dæmoner ved opstartstid. Da Linux-systemet er en perfekt Unix-klon, kvalificeres en init-proces som den overordnede proces til en dæmon. For at starte og stoppe dæmoner på dit Linux-operativsystem skal du først få adgang til/ etc / init.d scripts-bibliotek på dit operativsystem.
Almindelige dæmoner fungerer
- Det gør det muligt for dit system at reagere korrekt på netværksanmodninger ved at knytte hver anmodning til en kompatibel netværksport. En typisk netværksport, der håndteres af dæmoner, er port 80.
- Daemons gør det muligt at køre eller udføre planlagte systemopgaver. Den dæmon, der er ansvarlig for denne specifikke opgave, kaldes cron. Det vil skabe en cron job der håndterer den periodiske udførelse af dine planlagte opgaver.
- Daemons tilbyder også et uvurderligt bidrag til overvågning af dit systems ydeevne. For eksempel kan de kontrollere RAID-arrayet eller harddiskens tilstand.
Nyttige Linux-servicedæmoner
- amd: Auto Mount Daemon
- anacron: Starttidskørsel af forsinkede cron-opgaver
- apmd: Advanced Power Management Daemon
- atd: Bruger ved værktøjsfunktionalitet til at udføre job i kø
- autofs: arbejder hånd i hånd med automounter-dæmonen for at lette montering og afmontering af on-demand-systemenheder
- crond: en dæmon, der håndterer opgaveplanlægning
- cupsd: en dæmon, der håndterer CUPS-udskrivning
- DHCP: dæmon til både Internet Bootstrap-protokolserver og Dynamic Host Configuration Protocol.
- gated: routing-dæmon, der er ansvarlig for flere routingsprotokoller. Det erstatter rutet og egpup
- httpd: en dæmon, der beskæftiger sig med webservere som Apache
- inetd: dæmon forbundet med Internet Superserver
- imapd: dæmon til IMAP-serveren
- lpd: Line Printer Daemon
- memcached: objektcaching-dæmon, der distribueres i hukommelsen
- monteret: Mount Daemon
- MySQL: dæmon til MySQL-databaseserveren
- som hedder: dæmon til DNS-server
- nfsd: Netværksfildelingsdemon
- nfslock: Da nfsd er forbundet med fillåsningstjenester, kan denne dæmon starte og stoppe disse tjenester.
- nmbd: dæmon til blokering af netværksmeddelelser
- ntpd: dæmon for Network Time Protocol-tjenesten
- postfix: en dæmon, der fungerer som posttransportagent. Det er et alternativ til sendmail.
- Postgresql: dæmon til Postgres databaseserver
- dirigeret: dæmon til styring af routingtabeller
- rpcbind: dæmon forbundet med Remote Procedure Call Bind
- Send mail: en dæmon, der fungerer som en mailoverførselsagent
- smbd: dæmon til Samba SMB-server
- smtpd: dæmon til Simple Mail Transfer Protocol
- snmpd: dæmon til Simple Network Management Protocol
- blæksprutte: dæmon tilknyttet en proxyserver til caching af websider
- sshd: dæmon tilknyttet Secure Shell Server
- synkroniseret: dæmon til synkronisering af systemhukommelse med systemfiler
- Syslog: en dæmon, der udfører systemlogning
- tcpd: denne daemon-serviceindpakning udfører adgangsbegrænsningsprotokoller relateret til de inetd-baserede daemon-tjenester. Det gennemfører disse begrænsninger igennem værter.give lov til og værter.nægte.
- Telnetd: dæmon til telnet-serveren
- vsftpd: dæmon til meget sikker filoverførselsprotokol
- webmin: dæmon til den webbaserede administrationsserver
- xinetd: dæmon forbundet med Enhanced Internet Supervisor
- xntd: dæmon til netværkstidserver
Uanset om du er en begynder-, mellem- eller ekspertbruger i Linux-operativsystemets verden, vil du aldrig undlade at gøre dig bekendt med nogen af de ovennævnte dæmoner, når du fremmer dine færdigheder og ekspertise inden for dette OS-miljø.
Start / stop / genstart af dæmoner: den terminalbaserede tilgang
Nu hvor du har en liste over nyttige Linux-dæmoner til at huske og udforske, er det første, du har brug for at vide, hvordan du starter, stopper eller genstarter disse dæmoner. Når din Linux-terminal er lanceret, skal du overveje følgende syntaksregler for at starte, stoppe og genstarte en dæmon på dit Linux-operativsystem.
service foretrukket-dæmon-navn start service foretrukket-dæmon-navn stop genstart af tjeneste foretrukket-dæmon-navn
Udskift foretrukket-dæmon-navn syntaksargument med navnet på Linux-systemdæmonen efter eget valg. Du kan vælge en fra listen over dæmoner, der er fremhævet ovenfor, så længe den er aktiv eller allerede defineret på dit Linux-system. For eksempel kan vi implementere den praktiske anvendelse af ovenstående syntaks ved at prøve at starte, stoppe og genstarte adæmon. Naviger til / etc / init.d bibliotek på din terminal for listen over tilgængelige dæmoner på dit Linux-system.
Notering af dine Linux-systemers dæmoner
En mere effektiv måde at bemærke de tilgængelige dæmoner på dit Linux-system i stedet for at navigere til / etc / init.d katalog er at liste alle de definerede aktive og inaktive dæmoner fra denne mappe med en enkelt kommando. Den følgende kommando er effektiv til at nå dette mål.
$ service -status-all
De afstivede positive [+] og negative [-] tegn forud for de anførte dæmonnavne antyder, at de enten er henholdsvis aktive eller inaktive.
Arbejde med brugerdefinerede dæmoner
Specifikke regler eller protokoller skal følges for at oprette og implementere en brugerdefineret dæmon med succes. Disse protokoller hjælper dig med at forstå udførelsen af dæmoner i ethvert Linux-miljø fuldt ud. Daemons er også fleksible nok til at interface med kernemoduler gennem systemopkald. Denne dæmonfunktionalitetsstræk understøtter dens interaktion med hardwareenheder som PDA'er (Personal Digital Assistants), printere og levedygtige eksterne controllerboards. Daemonernes byggesten bidrager også til den karakteristiske styrke og fleksibilitet i Linux-operativsystemet.
En relatabel dæmonimplementering ved hjælp af Python demonstreres og dokumenteres omhyggeligt af Sander Marechal. Vær ivrig efter at følge udførelsesordren ved oprettelse af denne dæmon. For det første har dit Linux-system brug for installation af Python-pakker for at kunne udvikle dæmoner med succes. For at installere Python kan du bruge følgende kommando.
$ sudo apt installere python3-pip python3-dev
Linket til Sander Marechals forfatter Python-dæmonkode tilbyder også en raffineret Python 3-kodeversion. Det ville hjælpe, hvis du overvejede at implementere det for bedre at forstå, hvordan dæmoner fungerer.
Hvis du er usikker på, om du har Python installeret, skal du køre følgende kommando på din Linux-terminal.
$ python3 --version
Formålet med enhver dæmon
Da en enkelt dæmon er dedikeret til at håndtere en bestemt opgave, skal den udføre den til perfektion. Den pågældende opgave kan være så enkel som at oprette en rapport og sende den til en administrator via sendmail eller så kompliceret som at administrere flere domæner, der er knyttet til flere postkasser. På et tidspunkt bliver den dæmon, du skal oprette, nødt til at tale med andre eksisterende dæmoner.
bruger-til-dæmon-interaktion
Det frarådes at få systembrugeren og den oprettede dæmon til at kommunikere direkte. Hvis det er nødvendigt for dæmonen, opretter du for at kommunikere med en systembruger. Denne kommunikation kan lettes gennem noget som en GUI-grænseflade. Denne kommunikationsplatform kan enten have GTK + GUI-kompleksitet eller enkeltsignal.
Opretter din dæmon
Talrige tilgange understøtter skabelsen af dæmoner. For eksempel kan du bruge din kommandolinjegrænseflade til at dæmonisere et Python-script som følger:
$ python my_python_script.py &
Du kan gemme Sander Marechals forfatter Python3-dæmonkode på en Python-fil og dæmonisere den med ovenstående kommando. Mens ovenstående terminalkommando let vil skabe en dæmon for dig, bliver du nødt til at håndtere udfordringer som uforudsigelige terminaludgange. Disse udfordringer afhænger af, hvor godt du har ombygget din Python-dæmonkode. Ovenstående fremgangsmåde understøtter heller ikke tildeling af PID-låsefiler til specifikke dæmoner. Det gør det umuligt at kontrollere nogen dæmon, da de fleste af dem udføres øjeblikkeligt. På den anden side, hvis du kun har brug for en simpel dæmon, vil ovennævnte tilgang give dig de ønskede dæmonresultater.
Daemon grundlæggende struktur
Inden en dæmon udfører eller udfører en tilsigtet funktion, skal den overveje nogle foruddefinerede regler, der fører til dens udførelse. Du kan tænke på disse regler som husarbejde på lavt niveau, der fører til dens egentlige opgave. Disse regler kan opdeles i følgende trin.
- Oprettelse af en fork fra en overordnet proces finder først sted
- Ændring af umask (filtilstandsmaske) følger
- Logfiler åbnes til skrivning
- Der oprettes et unikt SID (session-id)
- Udførelse skifter fra det aktuelle arbejdsmappe til et sekundært sted for at bevare filintegriteten
- Standardfilbeskrivelser er lukket
- Udførelse af målrettet dæmonkode
Mere om dæmoneksempler på implementeringer kan findes på GitHub.