Daemon (DiskAndExecutionMONitor) este un proces de fundal care răspunde solicitărilor de servicii.[1] În mod tradițional, daemonii sunt implementați după a schemă originară din UnixSysV[2]. Termenul a apărut cuUnix, dar majoritatea sistemelor de operare folosesc daemoni într-o formă sau alta. În sistemeleUnix-like, numele daemonilor se termină în mod convențional cu „d”: inetd, httpd, nfsd, sshd, named, lpd.[3] Procesele daemon nu se află sub controlul direct al utilizatorului și sunt începute când sistemul este pornit și se termină cu sistemul oprit. De obicei, procesul părinte al unui daemon este procesulinit. Unii daemoni nu sunt generați la pornire, dar sunt creați mai târziu de un alt proces care a încetat și a fost adoptat de init.[4]
SistemeleWindows folosesc daemoni sub denumirea deservicii. Un serviciu este un program care răspunde solicitărilor de la alte programe prin intermediul unui mecanism de comunicare între procese (de obicei printr-o rețea).
Termenul daemon a fost introdus deprogramatorii proiectului MAC (Project on Mathematics and Computational) alMIT în 1963. Au luat numele de lademonul lui Maxwell, o ființă imaginară care funcționează constant în fundal, sortând molecule într-un experiment de gândire prezentat de fizicianulJames Clerk Maxwell. Sistemele Unix au moștenit această terminologie.
Sistemele UNIX au numeroși daemoni care efectuează activități de zi cu zi:
- at: programează o acțiune să fie executată o singură dată la un moment stabilit
- biod: funcționează în cooperare cu nfsd pentru a gestiona cererile clientuluiNFS[5]
- crond: planificator pentru acțiuni bazate pe timp, care va declanșa o anumită acțiune periodic la o oră programată
- dhcpd: configurare în mod dinamic informațiileTCP/IP pentru clienți
- fingerd: oferă o interfață de rețea pentru protocolulfinger
- ftpd: gestionează serviciulFTP
- httpd: managerul de serviciiHTTP
- inetd: monitorizează solicitările de conectare la rețea
- init: generează toate celelalte procese; a fost înlocuit cu systemd
- logind: gestionează login-urile și locurile utilizatorilor în diferite moduri[6]
- lpd: gestioneazăspoolingulimprimantei
- mysqld: oprește și pornește un server debaze de date
- nfsd: procesează cererile de operare NFS de la sistemele client
- ntpd: gestionează sincronizarea ceasului în rețea
- portmap/rpcbind: oferă informații pentru a permite clienților să contacteze servereleONC RPC
- rsyslogd: folosit pentru a înregistra mesajele de sistem
- sendmail: controlează protocolulSMTP
- sshd: responsabil cu gestionarea serviciuluiSSH
- swapper: copiază regiunile de proces în spațiulswap pentru a recupera spații fizice ale memorie din kernel
- syncd: păstreazăsistemul de fișiere sincronizat cu memoria sistemului
- syslogd: proces de înregistrare a sistemului prinfișiere jurnal
- systemd: înlocuitor al init, care generează toate celelalte procese
- udev: manager de dispozitive care înlocuiește devfs
- udisksd: gestionează operațiuni precum interogarea, montarea, demontarea, formatarea sau detașarea dispozitivelor de stocare[7]
- vhand: eliberează pagini de memorie pentru utilizare de către alte procese[8]
- xfsd: deserserveștefont-uri X11 către clienți la distanță
- ypbind: găsește un server pentru domeniileNIS și păstrează informațiile NIS într-un fișier.[9][10]