Kadangi „Linux“ operacinė sistema apibūdinama kaip daugiafunkcinė operacinė sistema, „daemon“ pagal apibrėžimą yra programa, kuri nuolat vykdoma kaip foninis procesas. Trumpai tariant, šio proceso vykdymas nepriklauso nuo aktyvaus vartotojo sistemos sąveikos. Įprastas sistemos vartotojas negali kontroliuoti periodinio „daemon“ proceso vykdymo.
Vardų suteikimo tvarka, apibrėžianti daugumą „daemon“ procesų, yra vienos raidės „priesaga“ d. Ši pavadinimų suteikimo tvarka leidžia atskirti įprastus sistemos procesus ir „daemon“ valdomus procesus. Pavyzdžiui, sshd yra „daemon“ procesas, atsakingas už gaunamų duomenų valdymąSSH jungtys. Kitas „daemon“ proceso pavyzdys yrasyslogd. Ji yra atsakinga už „Linux“ sistemos registravimo priemonę.
„Linux“ aplinkoje demonų paleidimas yra paleidimo metu. Kadangi „Linux“ sistema yra puikus „Unix“ klonas, pradinis procesas laikomas pagrindiniu daemono procesu. Norėdami paleisti ir sustabdyti „Linux“ operacinės sistemos demonus, pirmiausia turite pasiekti/ etc / init.d scenarijų katalogą jūsų OS.
Paprastų demonų funkcijos
- Tai leidžia jūsų sistemai teisingai atsakyti į tinklo užklausas, susiejant kiekvieną užklausą su suderinamu tinklo prievadu. Tipiškas tinklo uostas, kurį valdo demonai, yra 80 prievadas.
- Daemonai leidžia vykdyti ar vykdyti suplanuotas sistemos užduotis. Vadinamas už šią konkrečią užduotį atsakingas demonas kronas. Tai sukurs cron darbas kuris tvarkys periodiškai jūsų suplanuotas užduotis.
- Daemonai taip pat siūlo neįkainojamą indėlį stebint jūsų sistemos veikimą. Pavyzdžiui, jie gali patikrinti RAID masyvą arba standžiojo disko būklę.
Naudingi „Linux“ paslaugų demonai
- pak: „Auto Mount Daemon“
- anakronas: Vėluojančių „cron“ užduočių vykdymo laikas
- apmd: Išplėstinė energijos valdymo deemonė
- atd: Įrankio funkcionalumas naudojamas eilės užduotims vykdyti
- automatiniai dokumentai: veikia kartu su automatinio laikiklio demonu, kad būtų lengviau montuoti ir išmontuoti pareikalavusius sistemos įrenginius
- pluoštas: demonas, tvarkantis užduočių planavimą
- puodelis: demonas, tvarkantis CUPS spausdinimą
- DHCP: „Internet Bootstrap“ protokolo serverio ir dinaminio pagrindinio kompiuterio konfigūravimo protokolo demonas.
- uždaras: maršrutų demonas, atsakingas už kelis maršrutų protokolus. Jis pakeičia nukreiptą ir egpup
- httpd: demonas, kuris tvarko tokius interneto serverius kaip „Apache“
- inetd: deimonas, susietas su interneto superserveriu
- imapd: IMAP serverio deemonas
- lpd: Linijinis spausdintuvas „Daemon“
- atmintinė: objekto talpyklos demonas, kuris yra paskirstytas atmintyje
- mountd: kalno demonas
- „MySQL“: „MySQL“ duomenų bazės serverio demonas
- pavadintas: DNS serverio deemonas
- nfsd: Tinklo failų bendrinimo deimonas
- nfslock: Kadangi „nfsd“ yra susietas su failų užrakinimo paslaugomis, šis demonas gali paleisti ir sustabdyti šias paslaugas.
- Nmbd: tinklo pranešimų bloko demonas
- ntpd: tinklo laiko protokolo paslaugos demonas
- pašto pataisa: demonas, kuris tarnauja kaip pašto gabenimo agentas. Tai alternatyva „sendmail“.
- Postgresql: „Postgres“ duomenų bazės serverio demonas
- nukreiptas: demonas, skirtas valdyti maršrutų lenteles
- rpcbind: deimonas, susietas su nuotolinių procedūrų iškvietimu
- Išsiųsti laišką: demonas, kuris tarnauja kaip pašto persiuntimo agentas
- smbd: „Samba“ SMB serverio demonas
- smtpd: paprasto pašto perdavimo protokolo demonas
- snmpd: paprasto tinklo valdymo protokolo demonas
- kalmarai: deimonas, susietas su tarpiniu serveriu tinklalapių talpykloje
- SSD: „Daemon“, susietas su „Secure Shell Server“
- sinchronizuoti: deimonas sistemos atminties sinchronizavimui su sistemos failais
- Syslog: deemonas, kuris atlieka sistemos registravimą
- TCPD: šis „daemon“ paslaugų paketas vykdo prieigos apribojimo protokolus, susijusius su „inetd“ pagrįstomis „deemon“ paslaugomis. Šiuos apribojimus ji įgyvendina šeimininkai.leisti ir šeimininkai.neigti.
- Telnetd: deimantas telnet serveriui
- vsftpd: labai saugaus failų perdavimo protokolo demonas
- webminas: žiniatinklio administravimo serverio deemonas
- xinetd: demonas, susietas su patobulintu interneto prižiūrėtoju
- xntd: tinklo laiko serverio demonas
Nesvarbu, ar esate pradedantysis, ar tarpinis vartotojas, ar ekspertas „Linux“ operacinių sistemų pasaulyje, niekada nesugebėsite susipažinti su nė vienu iš aukščiau išvardytų demonų, kai tobulinate savo įgūdžius ir patirtį šioje OS aplinkoje.
Dėmonų paleidimas / sustabdymas / paleidimas iš naujo: terminalo metodas
Dabar, kai turite naudingų „Linux“ demonų, kuriuos galite įsiminti ir tyrinėti, sąrašą, pirmiausia turite žinoti, kaip paleisti, sustabdyti ar paleisti iš naujo šiuos demonus. Paleidus „Linux“ terminalą, apsvarstykite šias sintaksės taisykles, kad paleistumėte, sustabdytumėte ir iš naujo paleistumėte „Linux“ operacinės sistemos deemoną.
tarnyba pageidaujamo-deemon-name pradžia tarnyba pageidaujamo-deemon-name stop service prefer-daemon-name paleiskite iš naujo
Pakeiskite pageidaujamas-deemon-name sintaksės argumentas su pasirinktu „Linux“ sistemos demono pavadinimu. Galite pasirinkti vieną iš aukščiau paryškinto deemonų sąrašo, jei jis yra aktyvus arba jau apibrėžtas jūsų „Linux“ sistemoje. Pvz., Mes galime įgyvendinti praktinį minėtos sintaksės naudojimą bandydami paleisti, sustabdyti ir paleisti iš naujodeimonas. Eikite į / etc / init.d terminalo katalogą, kuriame rasite galimų „Linux“ sistemos demonų sąrašą.
Išvardinkite savo „Linux“ sistemos demonus
Efektyvesnis būdas atkreipti dėmesį į esamus „Linux“ sistemos demonus, užuot naršius / etc / init.d katalogas turi išvesti visus apibrėžtus aktyvius ir neaktyvius demonus iš to katalogo viena komanda. Ši komanda yra veiksminga siekiant šio tikslo.
$ service -status-all
Sutvirtinti teigiami [+] ir neigiami [-] ženklai, esantys prieš išvardytus demonų pavadinimus, reiškia, kad jie yra atitinkamai aktyvūs arba neaktyvūs.
Darbas su vartotojo apibrėžtais demonais
Norint sėkmingai sukurti ir įdiegti vartotojo apibrėžtą deemoną, reikia laikytis konkrečių taisyklių ar protokolų. Šie protokolai padeda jums suprasti, kaip demonai vykdomi bet kurioje „Linux“ aplinkoje. Daemonai taip pat yra pakankamai lankstūs, kad galėtų atlikti sąsajas su branduolio moduliais per sistemos skambučius. Ši „daemon“ funkcionalumo dalis palaiko jos sąveiką su aparatūros įtaisais, tokiais kaip PDA (asmeniniai skaitmeniniai padėjėjai), spausdintuvais ir perspektyviomis išorinių valdiklių plokštėmis. Demonų statybiniai elementai taip pat prisideda prie būdingos „Linux“ operacinės sistemos galios ir lankstumo.
Sander Marechal kruopščiai demonstruoja ir dokumentais patvirtina „Daemon“ diegimą naudojant „Python“. Stebėkite vykdymo tvarką kurdami šį demoną. Pirmiausia, norint sėkmingai sukurti demonus, jūsų „Linux“ sistemai reikia įdiegti „Python“ paketus. Norėdami įdiegti „Python“, galite naudoti šią komandą.
$ sudo apt įdiekite python3-pip python3-dev
Nuoroda į „Sander Marechal“ autorių sukurtą „Python“ demonų kodą taip pat siūlo patobulintą „Python 3“ kodo versiją. Tai padėtų, jei svarstytumėte ją įgyvendinti, kad geriau suprastumėte, kaip veikia demonai.
Jei nesate tikri, ar turite „Python“, paleiskite šią komandą savo „Linux“ terminale.
$ python3 - versija
Bet kurio demono tikslas
Kadangi vienas demonas yra skirtas konkrečiai užduočiai atlikti, jis turėtų ją atlikti iki galo. Aptariama užduotis gali būti tokia paprasta, kaip sukurti ataskaitą ir išsiųsti ją administratoriui per „sendmail“ arba tokia pat sudėtinga, kaip valdyti kelis domenus, susietus su keliomis pašto dėžutėmis. Tam tikru momentu jūsų sukurtas demonas turės kalbėtis su kitais esamais demonais.
„user-to-daemon“ sąveika
Nerekomenduojama, kad sistemos vartotojas ir sukurtas demonas tiesiogiai bendrautų. Jei tai reikalinga daemonui, kuriate norėdami bendrauti su sistemos vartotoju. Šį bendravimą galima palengvinti naudojant GUI sąsają. Ši komunikacijos platforma gali turėti GTK + GUI sudėtingumą arba paprastą signalo rinkinį.
Kuriate savo demoną
Daugybė būdų palaiko demonų kūrimą. Pvz., Galite naudoti savo komandinės eilutės sąsają „Python“ scenarijaus demonizavimui taip:
$ python my_python_script.py &
Galite išsaugoti „Sander Marechal“ sukurtą „Python3“ deemono kodą „Python“ faile ir jį daemonizuoti naudodamiesi aukščiau pateikta komanda. Nors pirmiau nurodyta terminalo komanda lengvai sukurs jums deemoną, turėsite susidurti su tokiais iššūkiais kaip nenuspėjami terminalo išėjimai. Šie iššūkiai priklauso nuo to, kaip gerai atnaujinote „Python“ deemono kodą. Be to, aukščiau pateiktas metodas nepalaiko PID užrakto failų priskyrimo konkretiems demonams. Tai daro neįmanoma kontroliuoti bet kurio demono, nes dauguma jų bus vykdomi akimirksniu. Kita vertus, jei jums reikia tik paprasto demono, aukščiau paminėtas požiūris suteiks jums norimų demonų rezultatų.
Pagrindinė „Daemon“ struktūra
Prieš demonui vykdant ar atliekant numatytą funkciją, jis turės atsižvelgti į kai kurias išankstines taisykles, dėl kurių ji bus vykdoma. Galite galvoti apie šias taisykles kaip apie žemo lygio namų ruošos darbus, kurie lemia jų tikrąją užduotį. Šias taisykles galima suskirstyti į šiuos veiksmus.
- Pirmiausia sukuriama šakutė iš tėvų proceso
- Toliau keičiamas umask (failo režimo kaukė)
- Žurnalai atidaromi rašymui
- Sukuriamas unikalus SID (seanso ID)
- Vykdymas iš dabartinio darbo katalogo pereina į antrinę vietą, kad būtų išsaugotas failo vientisumas
- Standartiniai failų aprašai uždaryti
- Tikslinio deemono kodo vykdymas
Daugiau apie demonų įgyvendinimo pavyzdžius galite rasti „GitHub“.