Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Welche zwei Kategorien von Diensten gibt es unter Linux?

Welche zwei Kategorien von Diensten gibt es unter Linux?

青灯夜游
青灯夜游Original
2022-04-12 18:57:242835Durchsuche

Linux-Dienste werden entsprechend der Verwaltungsmethode in zwei Kategorien unterteilt: „Standalone“ und „Super-Daemon“, dh unabhängige Verwaltungsdienste und einheitliche Verwaltungsdienste. Der unabhängige Verwaltungsdienst kann unabhängig gestartet werden, ohne dass eine Verwaltung über andere Mechanismen erforderlich ist, während der einheitliche Verwaltungsdienst für den Start und die Verwaltung über einen einheitlichen Daemon verantwortlich ist.

Welche zwei Kategorien von Diensten gibt es unter Linux?

Die Betriebsumgebung dieses Tutorials: CentOS6-System, Dell G3-Computer.

Linux-Systemdienste, auch Daemons genannt, beziehen sich auf Prozesse, die sich im Speicher befinden und weiterhin ausgeführt werden, um erforderliche Dienste (System- oder Netzwerkdienste) bereitzustellen.

Klassifizierung

Linux-Systemdienste lassen sich je nach Verwaltungsmethode hauptsächlich in zwei Kategorien einteilen: eigenständige und Super-Daemons, nämlich unabhängige Verwaltungsdienste und einheitliche Verwaltungsdienste.

eigenständig: ​​Diese Art von Dienstmechanismus ist relativ einfach und kann den Dienst unabhängig starten. Seine Eigenschaften sind:

1. Er kann unabhängig gestartet werden, ohne dass eine Verwaltung durch andere Mechanismen erforderlich ist.
2. Sobald der eigenständige Dienst gestartet und in den Speicher geladen wird, belegt er bis dahin Speicherplatz und Systemressourcen Der Dienst wird gestoppt.
3. Da der Dienst immer läuft, erfolgt eine schnellere Reaktion auf Kundenanfragen.

Typische eigenständige Dienste sind: httpd und ftp

Super-Daemon: Dieser Verwaltungsmechanismus ist für das Starten und Verwalten anderer Dienste über einen einheitlichen Daemon verantwortlich. In CentOS6.X ist dieser Super-Daemon das xinetd-Programm. Features sind:

1. Alle Dienste werden von xinetd kontrolliert, daher kann es Sicherheitskontrollmechanismen für xinetd geben, wie z. B. Netzwerk-Firewalls
2. Vor der Client-Anfrage wird der erforderliche Dienst erst gestartet, wenn der Client den Dienst anfordert , xinetd aktiviert den entsprechenden Dienst; sobald die Verbindung beendet wird, wird der entsprechende Dienst geschlossen. Daher belegt die Super-Daemon-Methode nicht ständig Systemressourcen
3. Da der Dienst nur gestartet wird, wenn eine Anfrage vorliegt, ist die Antwortgeschwindigkeit des Servers natürlich nicht so schnell wie bei der Standalone-Methode

Typische Super-Daemon-Dienste umfassen: Telnet usw.

Verschiedene Startmethoden

Verschiedene Dienste in Linux verfügen über unterschiedliche Startskripte, um vor dem Dienst Umgebungserkennung, Konfigurationsdateianalyse, PID-Dateiplanung und andere verwandte Vorgänge durchzuführen wird gestartet. Die Platzierungsorte für Startskripte im Standalone-Modus und im Super-Daemon-Modus sind unterschiedlich, und natürlich sind auch die Startmethoden unterschiedlich.

eigenständiges

Startskript

Das eigenständige Startskript befindet sich im Verzeichnis /etc/init.d/. Tatsächlich befinden sich hier fast alle Dienststartskripte .

[root@localhost init.d]# ls /etc/init.d/
abrt-ccpp         htcacheclean    ntpd         smartd
abrtd             httpd           ntpdate      snmpd
xinetd
 ......(省略)

Ist Ihnen aufgefallen, dass es in diesem Verzeichnis nicht nur eigenständige Dienststartskripte wie httpd gibt, die wir kennen, sondern auch xinetd! Was bedeutet das?
Dies zeigt, dass der xinetd-Dienst tatsächlich die eigenständige Verwaltungsmethode verwendet. Denken Sie darüber nach, da xinetd für das Starten und Stoppen vieler Super-Daemon-Dienste verantwortlich ist, muss es sich im Speicher befinden? /init.d/, einfach alles direkt aufrufen!

[root@localhost init.d]# /etc/init.d/crond 
Usage: /etc/init.d/crond {start|stop|status|restart|condrestart|try-restart|reload|force-reload}

Rufen Sie es direkt an und es wird Ihnen die Verwendung mitgeteilt, dann

[root@localhost init.d]# /etc/init.d/crond restart
Stopping crond:                                            [  OK  ]
Starting crond:                                            [  OK  ]
So einfach ist es!

Methode 2:

Sie können auch das Service-Skript verwenden:

[root@localhost init.d]# service crond status
crond (pid  3278) is running...
Das ist einfacher, aber der Service kann nur zur Verwaltung eigenständiger Services verwendet werden.

还有,这个用法可以查看系统所有stand-alone服务的状态

[root@localhost init.d]# service --status-all
abrt-ccpp hook is installed
abrtd (pid  2331) is running...
abrt-dump-oops is stopped
acpid (pid  1807) is running...
......(省略)

HINWEIS:

Da das Dienstskript nicht in allen Linux-Distributionen verfügbar ist, wird empfohlen, /etc/init.d/* [Aktion] zu verwenden. Es hilft auch, das Prinzip zu verstehen~~~

Super-Daemon

Startskript

Super-Daemon-Startskript wird in /etc/xinetd.d/ abgelegt.

[root@localhost xinetd.d]# ls /etc/xinetd.d/
chargen-dgram   daytime-stream  echo-dgram   tcpmux-server  time-stream
......(省略)
Überprüfen Sie, welche Dienste im Super-Daemon-Modus gestartet werden:

Methode 1: Verwenden Sie chkconfig, um den Startstatus des Dienstes in xinetd-basierten Diensten anzuzeigen:

[root@localhost xinetd.d]# chkconfig 
......
xinetd based services:
    echo-dgram:     off
    echo-stream:    off
    rsync:          off
    tcpmux-server:  off
    telnet:         on
    ......
Methode 2: Sehen Sie sich direkt das Startskript des Dienstes an
[root@localhost xinetd.d]# grep -i 'disable' /etc/xinetd.d/*
......
/etc/xinetd.d/daytime-dgram:    disable     = yes
/etc/xinetd.d/daytime-stream:   disable     = yes
/etc/xinetd.d/discard-dgram:    disable     = yes
/etc/xinetd.d/discard-stream:   disable     = yes
/etc/xinetd.d/echo-dgram:   disable     = yes
/etc/xinetd.d/telnet:   disable = no
......
Das obige „disable=no“ bedeutet, dass der Dienst aktiviert ist.


Startmethode


Wir wissen bereits, dass wenn im Startskript „disable=no“ steht, dies bedeutet, dass der Dienst aktiviert ist. Daher lautet unsere Startmethode:


1 Bearbeiten Sie zuerst das Startskript und ändern Sie die Dinge, die aktiviert werden müssen. Ändern Sie das Element zum Deaktivieren des Dienstes in Nein. 2. Starten Sie dann xinetd neu: /etc/init.d/xintd restart [Da xinetd selbst ein eigenständiger Dienst ist]

Verwandte Empfehlungen: „ Linux-Video-Tutorial"

Das obige ist der detaillierte Inhalt vonWelche zwei Kategorien von Diensten gibt es unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn