Què és un dimoni?
Un dimoni és una mena de programa sobre un sistema operatiu similar a UNIX que s'executa en segon pla de manera discreta, en comptes de l'accés directe d'un usuari. Espera ser desencadenat per l'aparició d'una condició o esdeveniment particular.
Normalment, els sistemes semblants a UNIX executen nombrosos dimonis, principalment per atendre sol·licituds de serveis a través d'altres sistemes de la xarxa, per a l'activitat del maquinari i també per respondre a altres programes.
Alguns exemples de condicions o accions que podrien activar dimonis a l'activitat poden ser una data o hora particulars, el pas d'un interval de temps descrit, la recepció d'una sol·licitud web o un correu electrònic creat des d'una línia de comunicació específica i un fitxer que arriba a un directori específic.
aleatòria c
No és obligatori que l'autor d'una condició o acció conegui que el dimoni està escoltant.
Tanmateix, els programes sovint implementen una acció només perquè se sap que despertaria un dimoni implícitament.
Un dimoni també s'anomena processos en segon pla. És un programa UNIX o Linux que s'executa en segon pla. Gairebé tots els dimonis contenen noms que acaben amb 'd' la lletra. Per exemple, sshd, gestiona les connexions d'accés remot SSH, o el dimoni httpd que gestiona el servidor Apache. Sovint, Linux comença els dimonis a l'hora d'inici.
Diversos scripts d'intèrpret d'ordres es guarden dins del directori que és /etc/init.d. Aquests scripts s'utilitzen per iniciar i aturar dimonis.
Processos Linux
Normalment, els dimonis s'instanciencien com a processos. Aquests processos són les instàncies en execució o execució d'un programa. Un procés és gestionat pel nucli que és el nucli del sistema operatiu i assigna tots els números d'identificació especials del procés.
A Linux, hi ha principalment tres tipus de processos comuns que són els següents:
- Lot
- Interactiu
- Dimoni
El procés per lots s'envia a través d'una cua de processos i no està relacionat amb la línia d'ordres. Aquests processos són molt adequats per realitzar operacions recurrents si l'ús del sistema és baix.
El procés interactiu és executat de manera interactiva per l'usuari a la línia d'ordres.
El dimoni s'identifica per un sistema com aquells processos el procés pare dels quals conté un PID d'un.
reinicieu mysql ubuntu
Sempre, defineix el procés init. El procés d'inici és el procés inicial que s'inicia quan s'inicia un sistema Linux i es manté sobre el sistema fins que el sistema s'apaga.
L'init pot adoptar qualsevol tipus de procés el procés principal del qual finalitza o mor sense esperar l'estat del procés fill.
Per tant, la tècnica bàsica per llançar el dimoni és dividir o bifurcar dues vegades o una vegada i també permetre que els processos pare acabin mentre el procés fill comença a implementar la seva funció general.
Història dels dimonis
Els scripts d'inici del sistema V publiquen alguns dimonis. Són scripts o programes breus que es poden executar automàticament si el sistema s'està iniciant. Es poden reproduir a intervals o sobreviure durant la sessió.
Ara, diversos dimonis s'inicien només segons sigui necessari i per un dimoni (xinetd) en lloc d'executar-se contínuament. El xinetd es coneix com a superservidor TCP/IP.
pandas creant dataframe
S'inicia a l'hora d'inici i també escolta diversos ports que s'assignen als processos enumerats dins del fitxer de configuració, és a dir, /etc/xinetd.conf o /etc/inetd.conf.
Manualment, també es podrien iniciar alguns dimonis per ser llançats pels programes d'aplicació i el sistema operatiu. Tots els dimonis tenen un script individual en diversos sistemes operatius semblants a UNIX, inclòs Linux, amb el qual es podria reiniciar i finalitzar.
La gestió d'aquests scripts s'implementa segons els nivells d'execució. El nivell d'execució es pot definir com un estat de funcionament o configuració d'un sistema que només permet que alguns processos seleccionats estiguin disponibles. Començar en un nivell d'execució diferent pot ajudar a resoldre determinats problemes o problemes, inclosa la rectificació d'errors del sistema.
Punts clau dels dimonis
A continuació s'expliquen alguns punts clau importants dels Daemons:
- La paraula dimoni prové de la metodologia grega daemon. Aquests eren éssers sobrenaturals que es troben entre els mortals i els déus i que posseïen un poder o un coneixement únics.
- El 1963, el terme dimoni es va aplicar inicialment dins d'un context de sistema en el projecte pioner MAC amb l'ajuda d'IBM 7094.
- Es va inspirar en el dimoni de la termodinàmica i la física de Maxwell, que era un agent abstracte que suportava molècules de diferents velocitats i treballava en segon pla incansablement.
- Després d'això, el terme es va utilitzar per descriure els processos de fons que treballaven per implementar les tasques del sistema incansablement.
- El primer ordinador dimoni va ser un programa que creava còpies de seguretat de cinta automàticament.
- Aquest terme es va utilitzar per a l'ús de l'ordinador. Era com una forma abreujada de Disk and Execution MONitor.
- Diversos programes anomenats serveis els dimonis funcionen al sistema operatiu Microsoft Windows. Tanmateix, la paraula dimoni també s'està aplicant de vegades amb aquests sistemes.
Implementació de Daemons
Sistemes com Unix
El procés d'un sistema semblant a Unix és un dimoni si el seu procés pare mor i aquest dimoni és designat com a procés d'inici (procés número 1) com a procés principal i no conté cap terminal de control de manera estrictament tècnica.
Tanmateix, un dimoni pot ser qualsevol procés de fons, sigui fill del procés d'inici o no.
La tècnica bàsica per a un procediment es converteix en un dimoni al sistema com UNIX quan el procediment s'inicia mitjançant la línia d'ordres o scripts d'inici com l'script d'inici del sistema o l'script d'inici, implica:
- Eliminació de variables innecessàries a través de l'entorn opcionalment.
- Executant com a tasca de fons sortint i bifurcant. Permet al pare del dimoni (procés d'inici o shell) rebre notificacions de sortida i continuar amb l'execució normal.
- Desenganxant-se a través de la secció d'invocació, realitzada normalment mitjançant una operació individual, setsid():
- Dissociant mitjançant el control tty.
- Fer una sessió més nova i convertir-se en el líder de la sessió d'aquesta.
- Esdevenir el líder del grup de processos.
- Si el dimoni vol assegurar-se que no heretarà un nou control tty, podria sortir i bifurcar-se de nou. Vol dir que ja no és cap líder de sessió dins de la nova sessió i que no pot heretar cap control tty.
- Establir el directori de treball actual com a directori arrel perquè el procés no prengui cap directori en ús que pugui estar en un sistema de fitxers muntat.
- Modificació de l'umask a 0 per permetre les crides create(), open() i altres del sistema operatiu per facilitar la seva màscara de permís i no dependre de tots els umask de la persona que truca.
- Redirigir els descriptors de fitxers 0, 1 i 2 per als fluxos estàndard (stderr, stdout, stdin) a un fitxer de registre o /dev/null i tancant tots els altres fitxers descriptors adquirits mitjançant el procés pare.
Quan el procés comença per qualsevol dimoni de superservidor com systemd, launchd o inetd, el superservidor implementarà aquestes funcions per a aquest procés, excepte aquells dimonis d'estil antic que no s'han transformat en executar-se amb systemd i que es descriuen com a servidors de datagrames multiprocés i Type=forking. sobre inetd.
hrithik roshan
MS-DOS
El programa semblant a un dimoni es va executar com a programari d'acabar i romandre resident (en resum, TSR) dins de la plataforma Microsoft DOS.
Windows NT
Els programes coneguts com a serveis de Windows implementen les funcions d'aquests dimonis als sistemes Microsoft Windows NT. S'executen com a processos i normalment no interactuen amb el ratolí, el teclat i el monitor. Es poden llançar amb l'ajuda del sistema operatiu en el moment de l'arrencada.
Els serveis de Windows s'aturen, s'inicien i configuren manualment el tauler de control (un programa de configuració/control dedicat), el sistema d'scripts de PowerShell o les ordres net stop i net start, l'element controlador de servei del gestor de control de serveis.
Tot i això, qualsevol aplicació de Windows pot implementar les responsabilitats d'un dimoni no només com un servei i alguns dimonis de Windows contenen l'opció d'executar-se com a procés normal.
MacOS clàssic i Mac OS
Diversos serveis i funcions opcionals es van facilitar amb aquells fitxers carregats en el moment de l'arrencada que reconstrueixen el sistema operatiu al Mac OS clàssic.
S'anomenaven panells de control i extensions del sistema. Les versions posteriors de Mac OS estàndard els van ampliar amb aplicacions de fons sense rostre completament.
Aquestes aplicacions són aplicacions habituals que s'executen en segon pla. Encara s'especificaven com a extensions habituals del sistema per a l'usuari.
macOS és un sistema Unix i fa servir dimonis. El macOS aplica el terme del servei per designar programari que implementa les funcions escollides mitjançant el menú de serveis en lloc d'aplicar aquest terme com ho fa Windows per als dimonis.
Funcions típiques dels dimonis
- Executeu accions programades com cron.
- Superviseu sistemes com la matriu RAID o la salut del disc dur.
- Respondre a la sol·licitud de la xarxa i obrir el port de xarxa (com el port 80).
Com iniciem, reiniciem o aturem els dimonis per a un indicador de l'intèrpret d'ordres?
Hem d'aplicar les seves ordres de servei com a continuació:
service daemon-name-here start service daemon-name-here stop service daemon-name-here restart
A l'exemple següent, estrelles, reinicieu i atureu-vos.
service httpd start service httpd stop service httpd restart
Com comprovem la llista de cada dimoni en execució?
Per comprovar l'estat de cada dimoni instal·lat, escriviu:
service - -status-all
Planificant el nostre dimoni
Quin dimoni farà?
El dimoni ha d'implementar una cosa i implementar-la bé. Això pot ser tan complicat com gestionar moltes bústies de correu en més d'un domini o tan fàcil com trucar a sendmail per enviar-lo a un administrador i especificar un informe.
Hem de tenir una millor idea del que ha de fer un dimoni en qualsevol cas. Interaccionarà amb alguns altres dimonis que podríem especificar o no. També és una altra cosa a examinar.
10 a la potència de 6
Interacció
Els dimonis mai no han de tenir cap comunicació amb l'usuari directament mitjançant un terminal. Cada comunicació passa per uns quants tipus d'interfícies (que potser hauríem d'especificar o no), que pot ser tan complicat com la GUI+GTK o tan fàcil com un conjunt individual.
L'estructura bàsica del dimoni
Daemon ha d'implementar unes quantes tasques domèstiques de baix nivell per preparar-se per a la feina real quan s'iniciï. Consisteix en alguns passos que són els següents:
- Força un súper procés (procés principal)
- Modifica la màscara del mode de fitxer (umask)
- Obriu els registres per escriure
- Feu un identificador de sessió especial (en breu SID)
- Modifiqueu el directori de treball (actual) a un lloc segur
- Tanca els descriptors de classificació del fitxer
- Introduïu el codi dimoni original