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