Tā kā Linux operētājsistēmu raksturo kā daudzuzdevumu operētājsistēmu, dēmons pēc definīcijas ir programma, kuru nepārtraukti izpilda kā fona procesu. Īsāk sakot, šī procesa izpilde nav atkarīga no aktīva lietotāja mijiedarbības ar sistēmu. Parasts sistēmas lietotājs nevar kontrolēt daemona procesa periodisku izpildi.
Nosaukšanas kārtība, kas nosaka lielāko daļu dēmonu procesu, ir viena burta “sufikss” d. Šī nosaukumu piešķiršanas kārtība ļauj atšķirt normālus sistēmas procesus no dēmonu darbināmiem procesiem. Piemēram, sshd ir dēmona process, kas atbild par ienākošo pārvaldībuSSH savienojumi. Vēl viens dēmonu procesa piemērs irsyslogd. Tas ir atbildīgs par Linux sistēmas reģistrēšanas iespēju.
Linux vidē dēmonu palaišana notiek sāknēšanas laikā. Tā kā Linux sistēma ir ideāls Unix klons, init process tiek kvalificēts kā vecāku process dēmonam. Lai palaistu un apturētu dēmonus Linux operētājsistēmā, vispirms ir jāpiekļūst/ etc / init.d skriptu direktoriju jūsu OS.
Kopējās dēmonu funkcijas
- Tas ļauj jūsu sistēmai pareizi atbildēt uz tīkla pieprasījumiem, katru pieprasījumu saistot ar saderīgu tīkla portu. Tipiska tīkla osta, kuru apstrādā dēmoni, ir 80.
- Dēmoni ļauj izpildīt vai izpildīt plānotos sistēmas uzdevumus. Tiek saukts dēmons, kas atbild par šo konkrēto uzdevumu krons. Tas radīs cron darbs kas veiks jūsu plānoto uzdevumu periodisku izpildi.
- Daemons piedāvā arī nenovērtējamu ieguldījumu jūsu sistēmas veiktspējas uzraudzībā. Piemēram, viņi var pārbaudīt RAID masīva vai cietā diska veselību.
Noderīgi Linux servisa dēmoni
- lab: Auto Mount Daemon
- anakrons: Aizkavētu cron uzdevumu sāknēšanas laika izpilde
- apmd: Uzlabots enerģijas pārvaldības dēmons
- atd: Rīka funkcionalitāte tiek izmantota rindā esošo darbu izpildei
- autofs: darbojas kopā ar automounter dēmonu, lai atvieglotu pēc pieprasījuma sistēmas ierīču montāžu un demontāžu
- kronis: dēmons, kas nodarbojas ar uzdevumu plānošanu
- cupsd: dēmons, kas apstrādā CUPS drukāšanu
- DHCP: dēmons gan Internet Bootstrap protokola serverim, gan dinamiskā resursdatora konfigurācijas protokolam.
- vārti: maršrutēšanas dēmons, kas atbildīgs par vairākiem maršrutēšanas protokoliem. Tas aizstāj maršrutēto un egpup
- httpd: dēmons, kas nodarbojas ar tādiem tīmekļa serveriem kā Apache
- inetd: dēmons, kas saistīts ar interneta superserveru
- imapd: dēmons IMAP serverim
- lpd: Līnijas printera dēmons
- atmiņā: objekta kešatmiņas dēmons, kas tiek izplatīts atmiņā
- mountd: mount dēmons
- MySQL: dēmons MySQL datu bāzes serverim
- nosauca: dēmons DNS serverim
- nfsd: Tīkla failu koplietošanas dēmons
- nfslock: Tā kā nfsd ir saistīts ar failu bloķēšanas pakalpojumiem, šis dēmons var sākt un apturēt šos pakalpojumus.
- nmbd: dēmons tīkla ziņojumu blokam
- ntpd: pakalpojuma Tīkla laika protokols dēmons
- pēcparaksts: dēmons, kas kalpo kā pasta transporta aģents. Tā ir alternatīva sendmail.
- Postgresql: dēmons Postgres datu bāzes serverim
- maršrutēts: dēmons maršrutēšanas tabulu pārvaldībai
- rpcbind: dēmons, kas saistīts ar attālās procedūras izsaukuma saistīšanu
- Nosūtīt pastu: dēmons, kas kalpo kā pasta pārsūtīšanas aģents
- smbd: dēmons Samba SMB serverim
- smtpd: dēmons vienkāršam pasta pārsūtīšanas protokolam
- snmpd: dēmons vienkāršam tīkla pārvaldības protokolam
- kalmāri: dēmons, kas saistīts ar starpniekserveri tīmekļa lapu kešatmiņai
- SSD: dēmons, kas saistīts ar Secure Shell Server
- sinhronizēt: dēmons sistēmas atmiņas sinhronizēšanai ar sistēmas failiem
- Syslog: dēmons, kas veic sistēmas reģistrēšanu
- TCPD: šis dēmonu pakalpojumu iesaiņotājs izpilda piekļuves ierobežošanas protokolus, kas saistīti ar inetd balstītiem dēmonu pakalpojumiem. Šos ierobežojumus tā īsteno, izmantojot saimniekiem.Atļaut un saimniekiem.noliegt.
- Telnetd: dēmons telnet serverim
- vsftpd: dēmons ļoti drošam failu pārsūtīšanas protokolam
- Webmin: dēmons tīmekļa administrēšanas serverim
- xinetd: dēmons, kas saistīts ar uzlaboto interneta uzraudzītāju
- xntd: tīkla laika servera dēmons
Neatkarīgi no tā, vai esat iesācējs, starpnieks vai eksperts Linux operētājsistēmas pasaulē, jūs nekad neizdosies iepazīties ar kādu no iepriekš uzskaitītajiem dēmoniem, uzlabojot savas prasmes un zināšanas šajā OS vidē.
Dēmonu palaišana / apturēšana / restartēšana: pieeja, kas balstīta uz terminālu
Tagad, kad jums ir saraksts ar noderīgiem Linux dēmoniem, kurus iegaumēt un izpētīt, vispirms jums jāzina, kā sākt, apturēt vai restartēt šos dēmonus. Kad jūsu Linux termināls ir palaists, apsveriet šādus sintakses noteikumus, lai sāktu, apturētu un restartētu dēmonu jūsu Linux operētājsistēmā.
service preference-daemon-name start service preference-daemon-name stop service Preferred-daemon-name restart
Nomainiet Preferred-dēmonu nosaukums sintakses arguments ar izvēlēto Linux sistēmas dēmona nosaukumu. Jūs varat izvēlēties vienu no iepriekš iezīmētā dēmonu saraksta, ja vien tas ir aktīvs vai jau definēts jūsu Linux sistēmā. Piemēram, mēs varam ieviest iepriekšminētās sintakses praktisko izmantošanu, mēģinot sākt, apturēt un restartēt adēmons. Pārejiet uz / etc / init.d direktorijā jūsu terminālā pieejamo dēmonu sarakstam jūsu Linux sistēmā.
Uzskaita jūsu Linux sistēmu dēmonus
Efektīvāks veids, kā atzīmēt pieejamos dēmonus jūsu Linux sistēmā, nevis pāriet uz / etc / init.d direktorijā ir jāuzskaita visi definētie aktīvie un neaktīvie dēmoni no šī direktorija ar vienu komandu. Šī komanda ir efektīva šī mērķa sasniegšanai.
$ service -status-all
Brasītās pozitīvās [+] un negatīvās [-] zīmes pirms uzskaitītajiem dēmonu nosaukumiem nozīmē, ka tās ir attiecīgi aktīvas vai neaktīvas.
Darbs ar lietotāja definētiem dēmoniem
Lai veiksmīgi izveidotu un ieviestu lietotāja definētu dēmonu, jāievēro īpaši noteikumi vai protokoli. Šie protokoli palīdz pilnībā izprast dēmonu izpildi jebkurā Linux vidē. Dēmoni ir arī pietiekami elastīgi, lai, izmantojot sistēmas zvanus, varētu saskarties ar kodola moduļiem. Šī dēmona funkcionalitātes stiepšanās atbalsta tās mijiedarbību ar aparatūras ierīcēm, piemēram, PDA (personālajiem digitālajiem palīgiem), printeriem un dzīvotspējīgām ārējām kontrolieru plāksnēm. Dēmonu celtniecības elementi veicina arī Linux operētājsistēmas raksturīgo jaudu un elastību.
Sander Marechal rūpīgi demonstrē un dokumentē relatable dēmonu ieviešanu, izmantojot Python. Veidojiet šo dēmonu, ievērojiet izpildes kārtību. Pirmkārt, jūsu Linux sistēmai ir nepieciešama Python pakotņu instalēšana, lai veiksmīgi attīstītu dēmonus. Lai instalētu Python, varat izmantot šādu komandu.
$ sudo apt instalējiet python3-pip python3-dev
Saite uz Sander Marechal autoredPython dēmonu kodu piedāvā arī pilnveidotu Python 3 koda versiju. Tas palīdzētu, ja jūs apsvērtu tā ieviešanu, lai labāk saprastu, kā darbojas dēmoni.
Ja neesat pārliecināts, vai esat instalējis Python, palaidiet šo komandu savā Linux terminālā.
$ python3 --versija
Jebkura dēmona mērķis
Tā kā viens dēmons ir veltīts konkrēta uzdevuma apstrādei, tam tas būtu jāizpilda līdz pilnībai. Attiecīgais uzdevums var būt tikpat vienkāršs kā pārskata izveide un nosūtīšana administratoram, izmantojot sendmail, vai tikpat sarežģīts kā vairāku domēnu pārvaldība, kas saistīti ar vairākām pastkastēm. Kādā brīdī dēmonam, kuru jūs gatavojaties izveidot, būs jārunā ar citiem esošajiem dēmoniem.
mijiedarbība starp lietotāju un dēmonu
Nav ieteicams sistēmas lietotājam un izveidotajam dēmonam tieši sazināties. Ja tas nepieciešams dēmonam, jūs izveidojat, lai sazinātos ar sistēmas lietotāju. Šo saziņu var atvieglot, izmantojot GUI saskarni. Šai saziņas platformai var būt vai nu GTK + GUI sarežģītība, vai arī signālu kopas vienkāršība.
Jūsu dēmona izveide
Daudzas pieejas atbalsta dēmonu radīšanu. Piemēram, varat izmantot savu komandrindas saskarni, lai dēmonizētu Python skriptu šādi:
$ python my_python_script.py &
Jūs varat saglabāt Sander Marechal autorēto Python3 dēmona kodu Python failā un daemonizēt to ar iepriekš minēto komandu. Kaut arī iepriekšminētā termināla komanda jums viegli izveidos dēmonu, jums būs jārisina tādas problēmas kā neparedzamas termināļa izejas. Šīs problēmas ir atkarīgas no tā, cik labi jūs atjaunojāt savu Python dēmona kodu. Arī iepriekš minētā pieeja neatbalsta PID bloķēšanas failu piešķiršanu konkrētiem dēmoniem. Tas padara neiespējamu kontrolēt nevienu dēmonu, jo lielākā daļa no tiem tiks izpildīti uzreiz. No otras puses, ja jums ir nepieciešams tikai vienkāršs dēmons, iepriekš minētā pieeja sniegs vēlamos dēmonu rezultātus.
Dēmona pamatstruktūra
Pirms dēmons izpilda vai veic paredzēto funkciju, tam būs jāņem vērā daži iepriekš pieņemti noteikumi, kas noved pie tā izpildes. Jūs varat iedomāties šos noteikumus kā zema līmeņa mājas darbus, kas noved pie tā faktiskā uzdevuma. Šos noteikumus var sadalīt šādās darbībās.
- Vispirms notiek dakšas izveidošana no vecāku procesa
- Pēc tam tiek mainīta umask (faila režīma maska)
- Žurnāli tiek atvērti rakstīšanai
- Tiek izveidots unikāls SID (sesijas ID)
- Izpilde pārslēdzas no pašreizējā darba direktorija uz sekundāru vietu, lai saglabātu faila integritāti
- Standarta failu deskriptori ir slēgti
- Mērķtiecīga dēmona koda izpilde
Plašāku informāciju par dēmonu ieviešanas piemēriem varat atrast vietnē GitHub.