logo

Linux dēmons

Kas ir dēmons?

Dēmons ir sava veida programma UNIX līdzīgā operētājsistēmā, kas tiek izpildīta fonā neuzkrītoši, nevis pēc tiešas lietotāja piekļuves. Tas gaida, līdz to aktivizēs konkrēta stāvokļa vai notikuma parādīšanās.

Parasti UNIX līdzīgas sistēmas izpilda daudzus dēmonus, galvenokārt, lai apmierinātu pakalpojumu pieprasījumus, izmantojot citas tīkla sistēmas, lai veiktu aparatūras darbības, kā arī reaģētu uz citām programmām.

Nosacījumu vai darbību piemēri, kas var aktivizēt dēmonus darbībā, var būt konkrēts datums vai laiks, aprakstīta laika intervāla pāreja, tīmekļa pieprasījuma vai e-pasta saņemšana, kas izveidots no noteiktas sakaru līnijas, un fails, kas nokļūst noteiktā direktorijā.

atjauninājums no pievienošanās sql

Nav obligāti, lai nosacījuma vai darbības vaininieks būtu zināms, ka dēmons klausās.

Tomēr programmas bieži īsteno darbību tikai tāpēc, ka ir zināms, ka tas netieši pamodinātu dēmonu.

Dēmonu sauc arī par fona procesiem. Tā ir UNIX vai Linux programma, kas tiek izpildīta fonā. Gandrīz katrā dēmonā ir vārdi, kas beidzas ar burtu “d”. Piemēram, sshd, tas pārvalda SSH attālās piekļuves savienojumus vai httpd dēmonu, kas pārvalda Apache serveri. Bieži vien Linux sāk dēmonus sākuma laikā.

Dažādi čaulas skripti tiek saglabāti direktorijā, kas ir /etc/init.d. Šie skripti tiek izmantoti dēmonu palaišanai un apturēšanai.

Linux procesi

Parasti dēmoni tiek momentizēti kā procesi. Šie procesi ir programmas darbības vai izpildes gadījumi. Procesu apstrādā kodols, kas ir operētājsistēmas kodols, un tas piešķir visus īpašos procesa identifikācijas numurus.

Operētājsistēmā Linux galvenokārt ir trīs izplatīti procesu veidi, kas ir šādi:

  • Partija
  • Interaktīvs
  • Dēmons

Pakešu process tiek iesniegts, izmantojot procesu rindu, un tas nav saistīts ar komandrindu. Šie procesi ir labi piemēroti atkārtotu darbību veikšanai, ja sistēmas lietojums ir zems.

Interaktīvo procesu interaktīvi izpilda lietotājs komandrindā.

Dēmonu identificē sistēma, piemēram, tie procesi, kuru vecāku process satur PID vienu.

Vienmēr tas nosaka procesa sākumu. Init process ir sākotnējais process, kas tiek sākts, startējot Linux sistēmu, un tas paliek pāri sistēmai, līdz sistēma tiek izslēgta.

datu saites slāņa protokoli

Init var pieņemt jebkura veida procesu, kura vecākais process tiek pārtraukts vai nomirst, negaidot pakārtotā procesa statusu.

Tātad, pamata paņēmiens dēmona palaišanai ir dalīšana vai dakšošana divreiz vai vienreiz, kā arī ļaut vecākiem procesiem beigties, kamēr pakārtotais process sāk īstenot savu vispārējo funkciju.

Dēmonu vēsture

Dažus dēmonus publicē Sistēmas V sākuma skripti. Tie ir skripti vai īsas programmas, kuras var izpildīt automātiski, ja sistēma tiek startēta. Tos var reproducēt ar intervāliem vai izdzīvot sesijas laikā.

Tagad vairāki dēmoni tiek palaisti tikai pēc vajadzības un ar vienu dēmonu (xinetd), nevis nepārtraukti. Xinetd ir pazīstams kā TCP/IP superserveris.

Tas tiek palaists sākuma laikā, un tas arī klausās dažādus portus, kas ir piešķirti tiem procesiem, kas uzskaitīti konfigurācijas failā, t.i., /etc/xinetd.conf vai /etc/inetd.conf.

Būla valoda c

Var arī manuāli palaist dažus dēmonus, lai tos palaistu lietojumprogrammas un operētājsistēma. Visiem dēmoniem ir individuāls skripts vairākās UNIX līdzīgās operētājsistēmās, tostarp Linux, ar kuru to var atsākt un pārtraukt.

Šo skriptu pārvaldība tiek īstenota atbilstoši izpildes līmeņiem. Darbības līmeni var definēt kā sistēmas darbības vai konfigurācijas stāvokli, kas ļauj piekļūt tikai dažiem atlasītajiem procesiem. Sākot darbu ar atsevišķu izpildes līmeni, var palīdzēt atrisināt noteiktas problēmas vai problēmas, tostarp sistēmas kļūdu labošanu.

Galvenie dēmonu punkti

Tālāk ir izskaidroti daži svarīgi dēmonu galvenie punkti:

  • Vārds dēmons ir pārņemts no grieķu metodoloģijas dēmons. Tās bija pārdabiskas būtnes, kas atrodas starp mirstīgajiem un dieviem un kurām bija unikāls spēks vai zināšanas.
  • 1963. gadā termins dēmons sākotnēji tika lietots sistēmas kontekstā novatoriskajā projektā MAC ar IBM 7094 palīdzību.
  • To iedvesmoja Maksvela termodinamikas un fizikas dēmons, kas bija abstrakts aģents, kas atbalstīja dažādu ātrumu kārtošanas molekulas un nenogurstoši strādāja fonā.
  • Pēc tam šis termins tika lietots, lai aprakstītu fona procesus, kas nenogurstoši strādāja, veicot sistēmas darbus.
  • Pirmais dēmonu dators bija programma, kas automātiski izveidoja lentes dublējumus.
  • Šis termins tika izmantots datora lietošanai. Tā bija diska un izpildes MONitor saīsinātā forma.
  • Dažādas programmas pakalpojumus sauca par dēmonu funkcijām operētājsistēmā Microsoft Windows. Tomēr dažkārt šajās sistēmās tiek lietots arī vārds dēmons.

Dēmonu ieviešana

Unix tāpat kā sistēmas

Unix līdzīgas sistēmas process ir dēmons, ja tā vecākais process nomirst un šis dēmons tiek iecelts par sākuma procesu (process numur 1) kā mātes process, un tajā nav stingri tehniskā veidā kontrolējoša termināļa.

Tomēr dēmons var būt jebkurš fona process neatkarīgi no tā, vai tas ir vai nav sākuma procesa bērns.

Procedūras pamatmetode kļūst par dēmonu UNIX līdzīgā sistēmā, kad procedūra tiek sākta, izmantojot komandrindu vai startēšanas skriptus, piemēram, System Starter skriptu vai init skriptu, ietver:

  • Nevajadzīgo mainīgo dzēšana, izmantojot vidi, pēc izvēles.
  • Skriešana kā fona uzdevums, izejot un sazarojot. Tas ļauj dēmona vecākam (startēšanas vai čaulas procesam) saņemt izejas paziņojumus un turpināt normālu izpildi.
  • Atdalīšana, izmantojot izsaukšanas sadaļu, parasti tiek veikta ar atsevišķu darbību setsid ():
    • Disociācija, izmantojot tty kontroli.
    • Izveidojiet jaunāku sesiju un kļūstiet par šīs sesijas vadītāju.
    • Kļūstot par procesa grupas vadītāju.
  • Ja dēmons vēlas pārliecināties, ka tas nemantos jaunu tty kontroli, tas var iziet un atkal atzaroties. Tas nozīmē, ka tas vairs nav sesijas vadītājs jaunajā sesijā un nevar mantot nekādu tty kontroli.
  • Pašreizējā darba direktorija iestatīšana par saknes direktoriju, lai process neizmantotu nevienu direktoriju, kas varētu atrasties uz uzstādītas failu sistēmas.
  • Modificējot umask uz 0, lai atļautu Create(), open() un citus operētājsistēmas izsaukumus, lai atvieglotu to atļaujas masku un nepaļautos uz visu zvanītāja umask.
  • Failu deskriptoru 0, 1 un 2 novirzīšana standarta straumēm (stderr, stdout, stdin) uz žurnālfailu vai /dev/null un katra cita deskriptora faila aizvēršana, kas iegūta, izmantojot vecākprocesu.

Kad procesu sāk jebkurš superservera dēmons, piemēram, systemd, launchd vai inetd, superserveris ieviesīs šīs funkcijas šim procesam, izņemot tos vecā stila dēmonus, kas nav pārveidoti par izpildi saskaņā ar systemd un aprakstīti kā daudzpavedienu un Type=forking datagrammu serveri. pēc inetd.

t ff

MS-DOS

Dēmonam līdzīgā programma tika izpildīta kā izbeigšanas un uzturēšanās (īsumā TSR) programmatūra Microsoft DOS platformā.

Windows NT

Programmas, kas pazīstamas kā Windows pakalpojumi, īsteno šo dēmonu funkcijas Microsoft Windows NT sistēmās. Tie tiek izpildīti kā procesi un parasti nesadarbojas ar peli, tastatūru un monitoru. Tos var palaist ar operētājsistēmas palīdzību sāknēšanas laikā.

Windows pakalpojumus manuāli aptur, palaiž un konfigurē vadības panelis (speciāla konfigurācijas/vadības programma), PowerShell skriptu sistēma vai tīkla apturēšanas un tīkla starta komandas, pakalpojumu vadības pārvaldnieka pakalpojumu kontrollera elements.

Tomēr jebkura Windows lietojumprogramma var īstenot dēmona pienākumus ne tikai kā pakalpojums, un daži Windows dēmoni ietver iespēju izpildīt kā parasto procesu.

Klasiskā macOS un Mac OS

Dažādus papildu pakalpojumus un funkcijas atviegloja tie faili, kas tika ielādēti sāknēšanas laikā, kas atjauno operētājsistēmu klasiskajā Mac OS.

Tos sauca par vadības paneļiem un sistēmas paplašinājumiem. Standarta Mac OS jaunākās versijas tās paplašināja ar pilnīgi pilnveidotām fona lietojumprogrammām bez sejas.

Šīs lietojumprogrammas ir parastas lietojumprogrammas, kas darbojas fonā. Tie joprojām tika norādīti kā regulāri sistēmas paplašinājumi lietotājam.

macOS ir Unix sistēma, un tā izmanto dēmonus. Operētājsistēmā MacOS tiek lietots pakalpojuma termiņš, lai apzīmētu programmatūru, kas ievieš pakalpojumu izvēlnē izvēlētās funkcijas, tā vietā, lai lietotu šo terminu kā Windows dēmoniem.

Tipiskas dēmonu funkcijas

  • Veiciet ieplānotās darbības, piemēram, cron.
  • Pārraugiet tādas sistēmas kā RAID masīvs vai cietā diska stāvoklis.
  • Atbildiet uz tīkla pieprasījumu un atveriet tīkla portu (piemēram, portu 80).

Kā sākt, restartēt vai apturēt dēmonus čaulas uzvednei?

Mums ir jāpiemēro viņu pakalpojumu komandas, kā norādīts tālāk:

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

Nākamajā piemērā zvaigznītes, restartējiet un apturiet.

 service httpd start service httpd stop service httpd restart 

Kā mēs pārbaudām katra darbojošā dēmona sarakstu?

Lai pārbaudītu katra instalētā dēmona statusu, ierakstiet:

 service - -status-all 

Mūsu dēmona plānošana

Kādu dēmonu darīs?

Dēmonam ir jāīsteno viena lieta un tā jāīsteno labi. Šī viena lieta var būt tikpat sarežģīta kā daudzu pastkastīšu apstrāde vairākos domēnos vai tikpat vienkārša kā piezvanīt uz sendmail, lai to nosūtītu administratoram un norādītu atskaiti.

Mums ir jābūt labākam priekšstatam par to, kas dēmonam ir jādara jebkurā gadījumā. Tas mijiedarbosies ar dažiem citiem dēmoniem, kurus mēs varētu norādīt vai nē. Tas ir arī kaut kas cits, kas jāpārbauda.

kad tika izgudrota skola

Mijiedarbība

Dēmoni nekad nedrīkst sazināties ar lietotāju tieši caur termināli. Ikviena saziņa notiek, izmantojot dažus saskarnes veidus (kas mums var būt vai nav jānorāda), kas var būt tikpat sarežģīti kā GUI+GTK vai tikpat vienkārši kā atsevišķa kopa.

Dēmona pamatstruktūra

Dēmonam ir jāveic daži zema līmeņa mājas darbi, lai sagatavotos īstajam darbam, kad tas sāk darboties. Tas ietver dažus soļus, kas ir šādi:

  • Atbrīvojieties no superprocesa (vecāku process)
  • Modificēt faila režīma masku (umask)
  • Atveriet žurnālus, lai rakstītu
  • Izveidojiet īpašu sesijas ID (īsumā SID)
  • Pārveidojiet darba direktoriju (pašreizējo) uz drošu vietu
  • Aizvērt faila klasifikācijas deskriptorus
  • Ievadiet sākotnējo dēmona kodu

Dēmonu pakalpojumu saraksts Unix un Linux līdzīgām sistēmām

    anahrons:Startēšanas laikā tas veic aizkavētas cron darbības.amd:Tas apzīmē Auto Mount Daemon.utt:Tas izpilda uzdevumus, kas atrodas rindā, izmantojot rīku pie.apmd:Tas nozīmē Advanced Power Management Daemon.cronds:Tas ir uzdevumu plānotāja dēmons.autofs:Tas palīdz automātiskās montāžas dēmonam, ļaujot atvienot un pievienot ierīces pēc pieprasījuma.dhcpd:Tas apzīmē Dynamic Host Configuration Protocol. Turklāt tas ir interneta sāknēšanas protokola serveris.cupsd:Tas apzīmē CUPS printera dēmonu.ftpd:Tas apzīmē FTP servera dēmonu.httpd:Tas ir tīmekļa servera dēmons.vārtiem:Tas var maršrutēt dēmonus, kas aizstāj egpup un routed, un pārvaldīt vairāk nekā vienu maršrutēšanas protokolu.lpd:Tas apzīmē Line Printer Daemon.imapd:Tas ir imap servera dēmons.inetd:Tas apzīmē Internet Superserver Daemon.memchached:Tas ir atmiņā izplatīts objektu kešatmiņas dēmons.mysql:Tas ir datu bāzes servera dēmons.uzstādīts:Tas ir kalna dēmons.nfsd:Tas apzīmē tīkla failu koplietošanas dēmonu.nosaukts:Tas ir DNS servera dēmons.nflock:To izmanto, lai sāktu un apturētu nfs failu bloķēšanas pakalpojumus.ntpd:Tas apzīmē tīkla laika protokola pakalpojuma dēmonu.nmbd:Tas apzīmē tīkla ziņojumu bloķēšanas dēmonu.postgresql:Tas ir datu bāzes servera dēmons.postfix:Tas ir pasta transporta aģents un tiek izmantots kā Sendmail aizstājējs.rpcbind:Tas apzīmē Remote Procedure Call Bind Daemon.maršrutēts:Tas apstrādā maršrutēšanas tabulas.smbd:Tas ir Samba dēmons.Nosūtīt pastu:Tas ir pasta pārsūtīšanas aģenta dēmons.smtpd:Tas apzīmē Simple Mail Transfer Protocol Daemon.kalmārs:Tas ir tīmekļa lapu kešatmiņas starpniekservera dēmons.snmpd:Tas apzīmē vienkāršā tīkla pārvaldības protokola dēmonu.sinhronizēt:Tas var sinhronizēt dažādas failu sistēmas kopā ar sistēmas atmiņu.sshd:Tas ir Secure Shell servera dēmons.syslogd:Tas apzīmē sistēmas reģistrēšanas dēmonu.telnetd:Tas ir Telnet servera dēmons.tcpd:Tam ir pakalpojumu iesaiņojums, kas var ierobežot autorizāciju uz inetd balstītiem pakalpojumiem no hosts.deny un hosts.allow.vsftpd:Tas nozīmē Very Secure FTP Daemon.webmin:Tas ir tīmekļa administrēšanas servera dēmons.xntd:Tas ir tīkla laika servera dēmons.xinetd:Tas ir uzlabots interneta superservera dēmons.