Kuna Linuxi operatsioonisüsteemi iseloomustatakse mitme ülesandega operatsioonisüsteemina, on deemon definitsiooni järgi programm, mida käivitatakse pidevalt taustaprotsessina. Lühidalt öeldes ei sõltu selle protsessi käivitamine aktiivse kasutaja süsteemi interaktsioonist. Tavaline süsteemikasutaja ei saa deemonprotsessi perioodilist käivitamist kontrollida.
Enamiku deemoni protsesse defineeriv nimetamiskord on ühe tähega „sufiks” d. See nimetamiskord võimaldab eristada tavapäraseid süsteemiprotsesse ja deemoniga töötavaid protsesse. Näiteks, sshd on deemoni protsess, mis vastutab sissetulevate halduste eestSSH ühendused. Teine deemoni protsessi näide onsyslogd. Ta vastutab Linuxi süsteemi logimisvõimaluse eest.
Linuxi keskkonnas on deemonite käivitamine alglaadimise ajal. Kuna Linuxi süsteem on täiuslik Unixi kloon, kvalifitseeritakse init-protsess deemoniks vanemprotsessiks. Deemonite käivitamiseks ja peatamiseks oma Linuxi operatsioonisüsteemis peate kõigepealt juurde pääsema/ etc / init.d skriptide kataloog oma OS-is.
Tavalised deemonite funktsioonid
- See võimaldab teie süsteemil võrgutaotlustele õigesti vastata, seostades iga päringu ühilduva võrgupordiga. Tüüpiline võrguport, mida deemonid haldavad, on port 80.
- Deemonid võimaldavad käivitada või täita plaanitud süsteemi ülesandeid. Selle konkreetse ülesande eest vastutavat deemonit nimetatakse cron. See loob a croni töö mis haldab teie kavandatud ülesannete perioodilist täitmist.
- Daemonid pakuvad ka hindamatut panust teie süsteemi jõudluse jälgimisel. Näiteks saavad nad kontrollida RAID-massiivi või kõvaketta seisundit.
Kasulikud Linuxi teenuse deemonid
- parandus: Automaatne deemon
- anakron: Viivitatud croni ülesannete käivitamise aeg
- apmd: Täiustatud toitehalduse deemon
- atd: Kasutab järjekorras olevate tööde täitmiseks tööriista funktsionaalsust
- automaatsed dokumendid: töötab käsikäes automaatse loenduri deemoniga, et hõlbustada tellitavate süsteemide seadmete monteerimist ja lahtiühendamist
- võlg: deemon, mis tegeleb ülesannete ajastamisega
- cupsd: deemon, mis tegeleb CUPS-printimisega
- DHCP: deemon nii Interneti Bootstrapi protokolliserveri kui ka dünaamilise hosti konfiguratsiooniprotokolli jaoks.
- väravaga: mitme marsruutimisprotokolli eest vastutav marsruutimisdemon. See asendab marsruutitud ja egpup
- httpd: deemon, mis tegeleb selliste veebiserveritega nagu Apache
- inetd: Interneti-superserveriga seotud deemon
- imapd: deemon IMAP-serveri jaoks
- lpd: Joonprinteri deemon
- Memcached: objekti vahemälu deemon, mis on jaotatud mälus
- mountd: mäe deemon
- MySQL: deemon MySQL-i andmebaasiserveri jaoks
- nimega: deemon DNS-serverile
- nfsd: Võrgufailide jagamise deemon
- nfslock: Kuna nfsd on seotud failide lukustamisteenustega, saab see deemon neid teenuseid käivitada ja peatada.
- nmbd: deemon võrgusõnumite blokeerimiseks
- ntpd: teenuse Network Time Protocol deemon
- postfix: deemon, mis toimib postiveo agendina. See on alternatiiv sendmailile.
- Postgresql: deemon Postgresi andmebaasiserveri jaoks
- suunatud: deemon marsruutimistabelite haldamiseks
- rpcbind: deemon, mis on seotud kaugprotseduuride kõne sidumisega
- kirja saatma: deemon, mis toimib postiülekande agendina
- smbd: deemon Samba SMB serveri jaoks
- smtpd: deemon lihtsa postiedastuse protokolli jaoks
- snmpd: deemon lihtsa võrguhalduse protokolli jaoks
- kalmaar: deemon, mis on seotud puhverserveriga veebilehtede vahemällu salvestamiseks
- SSD: deemon, mis on seotud Secure Shelli serveriga
- sünkroonimine: deemon süsteemimälu sünkroonimiseks süsteemifailidega
- Süsipäevik: deemon, mis teostab süsteemi logimist
- tcpd: see deemoni teenuse ümbris käivitab juurdepääsu piiramise protokollid, mis on seotud inetd-põhiste deemoni teenustega. Ta rakendab neid piiranguid läbi võõrustajad.lubama ja võõrustajad.eitada.
- Telnetd: deemon telneti serveri jaoks
- vsftpd: deemon väga turvalise failiedastusprotokolli jaoks
- veebimiin: deemon veebipõhise haldusserveri jaoks
- xinetd: deemon, mis on seotud täiustatud Interneti-juhendajaga
- xntd: võrgu ajaserveri deemon
Ükskõik, kas olete algaja, kesktaseme kasutaja või asjatundja Linuxi operatsioonisüsteemimaailmas, ei jäta te selles OS-keskkonnas oma oskuste ja asjatundlikkuse edendamisel kunagi kurssi ülaltoodud deemonitega.
Deemonite käivitamine / peatamine / taaskäivitamine: terminalipõhine lähenemine
Nüüd, kui teil on nimekiri kasulikest Linuxi deemonitest, mida meelde jätta ja uurida, peate kõigepealt teadma, kuidas neid deemoneid käivitada, peatada või uuesti käivitada. Kui teie Linuxi terminal on käivitatud, kaaluge järgmisi süntaksireegleid oma Linuxi operatsioonisüsteemi deemoni käivitamiseks, peatamiseks ja taaskäivitamiseks.
teenuse eelistatud-deemon-nimi algus teenuse eelistatud-deemon-nimi peatus teenuse eelistatud-deemon-nimi taaskäivitage
Asendage eelistatud-deemon-nimi süntaksiargument teie valitud Linuxi süsteemi deemoni nimega. Võite valida ühe ülaltoodud deemonite loendist, kui see on teie Linuxi süsteemis aktiivne või juba määratletud. Näiteks saame ülaltoodud süntaksit praktiliselt kasutada, proovides käivitada, peatada ja taaskäivitada adeemon. Navigeerige lehele / etc / init.d teie terminali kataloogi Linuxi süsteemis saadaolevate deemonite loendi jaoks.
Loetlege oma Linuxi süsteemide deemonid
Tõhusam viis Linuxi süsteemis olevate deemonite märkimiseks selle asemel, et navigeerida / etc / init.d kataloogis on loetletud kõik selles kataloogis määratletud aktiivsed ja passiivsed deemonid ühe käsuga. Selle eesmärgi saavutamiseks on tõhus järgmine käsk.
teenus $ -status-kõik
Loetletud deemoninimedele eelnevad kinnitatud positiivsed [+] ja negatiivsed [-] märgid viitavad sellele, et nad on vastavalt kas aktiivsed või passiivsed.
Töö kasutaja määratletud deemonitega
Kasutaja määratud deemoni edukaks loomiseks ja juurutamiseks tuleb järgida konkreetseid reegleid või protokolle. Need protokollid aitavad teil täielikult mõista deemonite käivitamist mis tahes Linuxi keskkonnas. Samuti on deemonid piisavalt paindlikud, et süsteemikõnede kaudu liidelda tuuma moodulitega. See deemoni funktsionaalsuse laiendus toetab selle suhtlemist riistvaraseadmetega, nagu PDA-d (Personal Digital Assistants), printerid ja elujõulised välised kontrolleriplaadid. Deemonite ehituskivid aitavad kaasa ka Linuxi operatsioonisüsteemi iseloomulikule võimsusele ja paindlikkusele.
Sander Marechal demonstreerib ja dokumenteerib Pythoni abil hõlpsasti ühendatud deemoni rakendust. Selle deemoni loomisel järgige innukalt täitmiskorda. Esiteks vajab deemonite edukaks arendamiseks teie Linuxi süsteem Pythoni pakettide installimist. Pythoni installimiseks võite kasutada järgmist käsku.
$ sudo apt installige python3-pip python3-dev
Link Sander Marechali autoritud Python deemonikoodile pakub ka rafineeritud Python 3 koodiversiooni. Abi oleks, kui kaaluksite selle rakendamist, et deemonid paremini mõista.
Kui te pole kindel, kas teil on Python installitud, käivitage oma Linuxi terminalis järgmine käsk.
$ python3 --versioon
Iga deemoni eesmärk
Kuna konkreetne ülesanne on pühendatud ühele deemonile, peaks ta selle täiuslikult täitma. Kõnealune ülesanne võib olla nii lihtne kui aruande loomine ja administraatorile saatmine sendmaili kaudu või sama keeruline kui mitme postkastiga seotud domeeni haldamine. Mingil hetkel peab loodav deemon rääkima teiste olemasolevate deemonitega.
kasutaja ja deemoni suhtlus
Ei soovitata lasta süsteemikasutajal ja loodud deemonil otse suhelda. Kui see on deemonil vajalik, loote süsteemi kasutajaga suhtlemiseks. Seda suhtlust saab hõlbustada umbes GUI-liidese kaudu. Sellel suhtlusplatvormil võib olla kas GTK + GUI keerukus või signaalikomplekti lihtsus.
Oma deemoni loomine
Deemonite loomist toetavad arvukad lähenemised. Näiteks saate Pythoni skripti deemoniseerimiseks kasutada käsurea liidest:
$ python my_python_script.py &
Saate salvestada Sander Marechali autoriseeritud Python3 deemoni koodi Pythoni faili ja deemoniseerida selle ülaltoodud käsuga. Kuigi ülaltoodud terminalikäsu loob teie jaoks hõlpsasti deemoni, peate toime tulema selliste väljakutsetega nagu ettearvamatud terminaliväljundid. Need väljakutsed sõltuvad sellest, kui hästi te oma Pythoni deemoni koodi ümber tegite. Samuti ei toeta ülaltoodud lähenemisviis PID-lukufailide määramist konkreetsetele deemonitele. See muudab võimatuks ühegi deemoni juhtimise, kuna enamik neist täidab kohe. Teiselt poolt, kui vajate ainult lihtsat deemonit, annab ülalnimetatud lähenemine soovitud deemoni tulemused.
Daemoni põhistruktuur
Enne kui deemon täidab või täidab kavandatud funktsiooni, peab ta kaaluma mõningaid eelarvamusi, mis viivad selle käivitamiseni. Võite mõelda nendest reeglitest kui madalast majapidamistööst, mis viib selle tegeliku ülesandeni. Need reeglid saab jagada järgmisteks sammudeks.
- Kõigepealt toimub kahvli loomine vanemprotsessist
- Järgneb umaski (failirežiimi mask) muutmine
- Logid avatakse kirjutamiseks
- Luuakse kordumatu SID (seansi ID)
- Faili terviklikkuse säilitamiseks lülitatakse täitmine praegusest töökataloogist teise asukohta
- Standardsed failikirjeldajad on suletud
- Sihitud deemoni koodi täitmine
Lisateavet deemonite näidisrakenduste kohta leiate GitHubist.