logo

Linux demonas

Kas yra demonas?

Demonas yra tam tikra UNIX tipo OS programa, kuri veikia fone nepastebimai, o ne tiesiogine vartotojo prieiga. Jis laukia, kol jį suaktyvins tam tikra būklė ar įvykis.

Paprastai į UNIX panašios sistemos vykdo daugybę demonų, pirmiausia tam, kad patenkintų paslaugų užklausas per kitas tinklo sistemas, aparatinės įrangos veiklą ir taip pat reaguotų į kitas programas.

Sąlygų ar veiksmų, galinčių suaktyvinti demonus į veiklą, pavyzdžiai gali būti konkreti data arba laikas, aprašyto laiko intervalo praėjimas, žiniatinklio užklausos arba el. pašto, sukurto iš konkrečios ryšio linijos, gavimas ir failas, patenkantis į konkretų katalogą.

sujungimo algoritmas

Nebūtina, kad sąlygos ar veiksmo kaltininkas būtų žinomas, kad demonas klauso.

Tačiau programos dažnai įgyvendina veiksmą vien todėl, kad žino, kad tai netiesiogiai sužadins demoną.

Demonas taip pat vadinamas foniniais procesais. Tai UNIX arba Linux programa, kuri vykdoma fone. Beveik kiekviename demone yra vardų, kurie baigiasi raide „d“. Pavyzdžiui, sshd, tai valdo SSH nuotolinės prieigos ryšius arba httpd demoną, kuris valdo Apache serverį. Dažnai „Linux“ paleidžia demonus nuo pradžios laiko.

Įvairūs apvalkalo scenarijai išsaugomi kataloge, kuris yra /etc/init.d. Šie scenarijai naudojami demonams paleisti ir sustabdyti.

Linux procesai

Paprastai demonai yra momentiniai kaip procesai. Šie procesai yra vykdomi arba vykdomi programos egzemplioriai. Procesą tvarko branduolys, kuris yra operacinės sistemos branduolys, ir priskiria visus specialius proceso identifikavimo numerius.

„Linux“ dažniausiai yra trijų tipų procesai, kurie yra tokie:

  • Partija
  • Interaktyvus
  • Demonas

Paketinis procesas pateikiamas per procesų eilę ir nesusijęs su komandine eilute. Šie procesai puikiai tinka pasikartojančioms operacijoms atlikti, jei sistema mažai naudojama.

Interaktyvų procesą interaktyviai vykdo vartotojas komandinėje eilutėje.

Demoną identifikuoja tokia sistema kaip tie procesai, kurių pirminiame procese yra vienas PID.

data konvertuoti į eilutę

Visada tai apibrėžia proceso pradžią. Init procesas yra pradinis procesas, kuris pradedamas paleidus Linux sistemą ir lieka sistemoje tol, kol sistema išjungiama.

Init gali priimti bet kokio tipo procesą, kurio pirminis procesas baigiasi arba miršta nelaukdamas antrinio proceso būsenos.

Taigi, pagrindinė demono paleidimo technika yra padalijimas arba išsišakojimas du kartus arba vieną kartą, taip pat leidžiant pirminiams procesams nutraukti, kol antrinis procesas pradeda įgyvendinti savo bendrą funkciją.

Demonų istorija

Keletą demonų paskelbia sistemos V inicijavimo scenarijai. Tai scenarijai arba trumpos programos, kurios gali būti vykdomos automatiškai, kai sistema paleidžiama. Jie gali būti atkuriami tam tikrais intervalais arba išlikti seanso metu.

Dabar keli demonai paleidžiami tik prireikus ir vieno demono (xinetd), o ne vykdyti nuolat. Xinetd yra žinomas kaip TCP/IP super serveris.

rasti mano iphone iš android

Jis paleidžiamas pradžios laiku ir taip pat klausosi įvairių prievadų, priskirtų tiems procesams, išvardytiems konfigūracijos faile, ty /etc/xinetd.conf arba /etc/inetd.conf.

Rankiniu būdu taip pat galima paleisti kelis demonus, kad būtų galima juos paleisti taikomųjų programų ir operacinės sistemos. Visi demonai turi atskirą scenarijų keliose UNIX tipo OS, įskaitant Linux, su kuriuo jį galima paleisti iš naujo ir nutraukti.

Šių atkarpų valdymas įgyvendinamas pagal paleidimo lygius. Vykdymo lygis gali būti apibrėžtas kaip sistemos veikimo arba konfigūracijos būsena, leidžianti pasiekti tik kai kuriuos pasirinktus procesus. Pradėjus nuo atskiro vykdymo lygio, galima išspręsti tam tikras problemas ar problemas, įskaitant sistemos klaidų taisymą.

Pagrindiniai demonų taškai

Kai kurie svarbūs pagrindiniai demonų punktai yra paaiškinti žemiau:

  • Žodis demonas yra paimtas iš graikų metodologijos demonas. Tai buvo antgamtinės būtybės, esančios tarp mirtingųjų ir dievų ir turinčios unikalią galią ar žinias.
  • 1963 m. terminas demonas iš pradžių buvo naudojamas sistemos kontekste novatoriškame projekte MAC, padedant IBM 7094.
  • Jį įkvėpė Maxwello termodinamikos ir fizikos demonas, kuris buvo abstraktus agentas, palaikantis skirtingo greičio molekules ir nenuilstamai dirbęs fone.
  • Po to terminas buvo naudojamas apibūdinti fono procesus, kurie nenuilstamai dirbo įgyvendinant sistemos darbus.
  • Pirmasis demono kompiuteris buvo programa, kuri automatiškai kūrė juostos atsargines kopijas.
  • Šis terminas buvo naudojamas kompiuteriui. Tai buvo trumpoji Disk and Execution MONitor forma.
  • Įvairios programos „Microsoft Windows“ operacinėje sistemoje vadino paslaugas demonų funkcijomis. Tačiau žodis demonas taip pat kartais naudojamas tose sistemose.

Demonų diegimas

Unix kaip sistemos

„Unix“ tipo sistemos procesas yra demonas, jei jo pirminis procesas miršta ir šis demonas yra paskiriamas pradiniu procesu (procesas numeris 1) kaip pirminis procesas ir jame nėra kontroliuojančio terminalo griežtai techniniu būdu.

Tačiau demonas gali būti bet koks foninis procesas, nesvarbu, ar pradinio proceso vaikas, ar ne.

Pagrindinė procedūros technika tampa demonu UNIX tipo sistemoje, kai procedūra pradedama naudojant komandinę eilutę arba paleisties scenarijus, pvz., System Starter scenarijų arba inicijavimo scenarijų, apima:

  • Nereikalingų kintamųjų ištrynimas per aplinką pasirinktinai.
  • Bėgimas kaip foninė užduotis išvažiuojant ir išsišakojus. Tai leidžia pagrindiniam demono (paleidimo arba apvalkalo procesui) gauti išėjimo pranešimus ir tęsti įprastą vykdymą.
  • Atskyrimas per iškvietimo skyrių, paprastai atliekamas individualia operacija, setsid ():
    • Atsiribojimas per tty valdymą.
    • Sukurti naujesnę sesiją ir tapti tos sesijos vadovu.
    • Tapimas proceso grupės lyderiu.
  • Jei demonas nori įsitikinti, kad jis nepaveldės naujo tty valdymo, jis gali išeiti ir vėl išsišakoti. Tai reiškia, kad jis nebėra joks sesijos vadovas naujoje sesijoje ir negali paveldėti jokio tty valdymo.
  • Dabartinio darbo katalogo nustatymas kaip šakninis katalogas, kad procesas neimtų jokio naudojamo katalogo, kuris gali būti per prijungtą failų sistemą.
  • Pakeitus umask į 0, kad būtų galima sukurti (), open () ir kitus operacinės sistemos iškvietimus, kad būtų palengvinta jų leidimo kaukė ir nepasikliauti visu skambinančiojo umask.
  • Standartinių srautų (stderr, stdout, stdin) failų deskriptorių 0, 1 ir 2 peradresavimas į žurnalo failą arba /dev/null ir visų kitų deskriptorių failų uždarymas, gautas naudojant pirminį procesą.

Kai procesą pradeda bet koks super serverio demonas, pvz., systemd, launchd arba inetd, super serveris įdiegs tas šio proceso funkcijas, išskyrus tuos seno tipo demonus, kurie nėra transformuoti į vykdomus pagal systemd ir apibūdinti kaip daugiagijai ir Type=forking datagramų serveriai. ant inetd.

kaip java konvertuoti iš int į eilutę

MS-DOS

Į demoną panaši programa buvo vykdoma kaip terminate and stay rezident (trumpiau TSR) programinė įranga Microsoft DOS platformoje.

Windows NT

Programos, žinomos kaip „Windows“ paslaugos, įgyvendina šių demonų funkcijas „Microsoft Windows NT“ sistemose. Jie vykdomi kaip procesai ir paprastai nesąveikauja su pele, klaviatūra ir monitoriumi. Jie gali būti paleisti operacinės sistemos pagalba įkrovos metu.

„Windows“ paslaugas rankiniu būdu sustabdo, paleidžia ir konfigūruoja valdymo skydas (skirta konfigūravimo / valdymo programa), „PowerShell“ scenarijų sistema arba tinklo sustabdymo ir tinklo paleidimo komandos, paslaugų valdymo tvarkyklės paslaugų valdiklio elementas.

Tačiau bet kuri „Windows“ programa gali įgyvendinti demono pareigas ne tik kaip paslauga, o keli „Windows“ demonai turi galimybę vykdyti kaip įprastą procesą.

Klasikinės „MacOS“ ir „Mac OS“.

Įvairios pasirenkamos paslaugos ir funkcijos buvo palengvintos dėl paleidimo metu įkeltų failų, kurie atkuria operacinę sistemą klasikinėje Mac OS.

Tai buvo vadinami valdymo skydeliais ir sistemos plėtiniais. Vėlesnėse standartinės „Mac OS“ versijose jie buvo išplėsti naudojant visiškai tobulas beveides fono programas.

Šios programos yra įprastos programos, veikiančios fone. Jie vis dar buvo nurodyti kaip įprasti sistemos plėtiniai vartotojui.

„macOS“ yra „Unix“ sistema ir ji naudoja demonus. „MacOS“ taiko paslaugos terminą, nurodydama programinę įrangą, kuri įgyvendina paslaugų meniu pasirinktas funkcijas, o ne taiko tą terminą, kaip tai daro „Windows“ demonams.

Tipiškos demonų funkcijos

  • Atlikite suplanuotus veiksmus, pvz., cron.
  • Stebėkite tokias sistemas kaip RAID masyvas arba standžiojo disko būsena.
  • Atsakykite į tinklo užklausą ir atidarykite tinklo prievadą (pvz., 80 prievadą).

Kaip paleisti, iš naujo paleisti arba sustabdyti demonus, kad gautume apvalkalo raginimą?

Turime taikyti jų aptarnavimo komandas, kaip nurodyta toliau:

 service daemon-name-here start service daemon-name-here stop service daemon-name-here restart 

Šiame pavyzdyje žvaigždutės, paleiskite iš naujo ir sustabdykite.

 service httpd start service httpd stop service httpd restart 

Kaip patikrinti kiekvieno veikiančio demono sąrašą?

Norėdami patikrinti kiekvieno įdiegto demono būseną, įveskite:

 service - -status-all 

Mūsų demono planavimas

Koks demonas veiks?

Demonas turi įgyvendinti vieną dalyką ir gerai jį įgyvendinti. Tas vienintelis dalykas gali būti toks pat sudėtingas, kaip tvarkyti daugybę pašto dėžučių daugiau nei viename domene arba taip pat paprasta, kaip paskambinti į „Sendmail“, kad išsiųstumėte jį administratoriui ir nurodytumėte ataskaitą.

Bet kokiu atveju turime geriau suprasti, ką demonas turi daryti. Jis sąveikaus su keletu kitų demonų, kuriuos galime nurodyti arba ne. Tai taip pat yra kažkas, ką reikia ištirti.

java maišos rinkinys

Sąveika

Demonai niekada neturi susisiekti su vartotoju tiesiogiai per terminalą. Kiekvienas bendravimas vyksta keliais sąsajų rūšimis (kurios mums gali tekti nurodyti arba ne), kurios gali būti tokios pat sudėtingos kaip GUI+GTK arba taip pat paprasta, kaip atskiras rinkinys.

Pagrindinė demono struktūra

Daemon turi atlikti keletą žemo lygio namų ruošos darbų, kad pasiruoštų tikram darbui, kai jis pradės veikti. Tai apima keletą veiksmų, kurie yra tokie:

  • Atleiskite super procesą (pagrindinis procesas)
  • Keisti failo režimo kaukę (umask)
  • Atidarykite žurnalus, kad galėtumėte rašyti
  • Sukurkite specialų seanso ID (sutrumpintai SID)
  • Pakeiskite darbo katalogą (dabartinį) į saugią vietą
  • Uždarykite failo klasifikavimo aprašus
  • Įveskite originalų demono kodą

Demonų paslaugų, skirtų Unix ir Linux panašioms sistemoms, sąrašas

    anachronas:Paleidimo metu jis vykdo uždelstus cron veiksmus.amd:Tai reiškia „Auto Mount Daemon“.ir tt:Jis vykdo eilėje esančias užduotis taikydamas įrankį.apmd:Tai reiškia „Advanced Power Management Daemon“.crond:Tai užduočių planavimo demonas.autofs:Tai padeda automatinio prijungimo demonui, leidžiančiam atjungti ir prijungti įrenginius esant poreikiui.dhcpd:Tai reiškia „Dynamic Host Configuration Protocol“. Be to, tai yra interneto įkrovos protokolo serveris.cupsd:Tai reiškia CUPS spausdintuvo demoną.ftpd:Tai reiškia FTP serverio demoną.httpd:Tai žiniatinklio serverio demonas.vartais:Jis gali nukreipti demonus, kurie pakeičia egpup ir routed bei valdyti daugiau nei vieną maršruto parinkimo protokolą.lpd:Tai reiškia „Line Printer Daemon“.imapd:Tai imap serverio demonas.inetd:Tai reiškia Internet Superserver Daemon.memchached:Tai atmintyje paskirstytas objektų talpyklos demonas.mysql:Tai duomenų bazės serverio demonas.montuojamas:Tai kalno demonas.nfsd:Tai reiškia tinklo failų bendrinimo demoną.pavadintas:Tai DNS serverio demonas.nflock:Jis taikomas nfs failų užrakinimo paslaugoms paleisti ir sustabdyti.ntpd:Tai reiškia tinklo laiko protokolo tarnybos demoną.nmbd:Tai reiškia tinklo pranešimų blokavimo demoną.postgresql:Tai duomenų bazės serverio demonas.postfix:Tai yra pašto transportavimo agentas ir naudojamas kaip Sendmail pakaitalas.rpcbind:Tai reiškia Remote Procedure Call Bind Daemon.nukreiptas:Jis tvarko maršruto lenteles.smbd:Tai Samba demonas.Išsiųsti laišką:Tai pašto siuntimo agento demonas.smtpd:Tai reiškia „Simple Mail Transfer Protocol Daemon“.kalmarai:Tai tinklalapio talpyklos tarpinio serverio demonas.snmpd:Tai reiškia paprastą tinklo valdymo protokolo demoną.sinchronizuoti:Jis gali sinchronizuoti įvairias failų sistemas kartu su sistemos atmintimi.sshd:Tai saugaus apvalkalo serverio demonas.syslogd:Tai reiškia sistemos registravimo demoną.telnetd:Tai Telnet serverio demonas.tcpd:Jis turi paslaugų paketą, kuris gali apriboti inetd pagrįstų paslaugų iš hosts.deny ir hosts.allow autorizaciją.vsftpd:Tai reiškia labai saugų FTP demoną.webmin:Tai žiniatinklio administravimo serverio demonas.xntd:Tai tinklo laiko serverio demonas.xinetd:Tai patobulintas interneto superserverio demonas.