Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >Apakah dua kategori perkhidmatan dalam Linux?

Apakah dua kategori perkhidmatan dalam Linux?

青灯夜游
青灯夜游asal
2022-04-12 18:57:242926semak imbas

Perkhidmatan Linux dibahagikan kepada dua kategori mengikut kaedah pengurusan: "berdiri sendiri" dan "super-daemon", iaitu perkhidmatan pengurusan bebas dan perkhidmatan pengurusan bersatu. Perkhidmatan pengurusan bebas boleh dimulakan secara bebas tanpa memerlukan pengurusan melalui mekanisme lain manakala perkhidmatan pengurusan bersatu bertanggungjawab untuk permulaan dan pengurusan melalui daemon bersatu.

Apakah dua kategori perkhidmatan dalam Linux?

Persekitaran pengendalian tutorial ini: sistem CentOS6, komputer Dell G3.

Perkhidmatan sistem Linux, juga dikenali sebagai daemon, merujuk kepada proses yang berada dalam ingatan dan terus berjalan untuk menyediakan perkhidmatan yang diperlukan (perkhidmatan sistem atau rangkaian).

Klasifikasi

Perkhidmatan sistem Linux terutamanya terbahagi kepada dua kategori mengikut kaedah pengurusan: bersendirian dan super-daemon, iaitu perkhidmatan pengurusan bebas dan perkhidmatan pengurusan bersatu.

berdiri sendiri: ​​Mekanisme perkhidmatan jenis ini agak mudah dan boleh memulakan perkhidmatan secara bebas. Ciri-cirinya ialah:

1 Ia boleh dimulakan secara bebas tanpa memerlukan pengurusan melalui mekanisme lain
2. Sebaik sahaja perkhidmatan yang berdiri sendiri dimulakan dan dimuatkan ke dalam memori, ia akan sentiasa. menduduki ruang memori dan sumber sistem sehingga perkhidmatan dihentikan.
3. Memandangkan perkhidmatan sentiasa berjalan, terdapat tindak balas yang lebih pantas kepada permintaan pelanggan.

Perkhidmatan berdiri sendiri tipikal termasuk: httpd, dan ftp

super-daemon: Mekanisme pengurusan ini disatukan melalui The daemon bertanggungjawab untuk memulakan dan mengurus perkhidmatan lain. Dalam CentOS6.X, super-daemon ini ialah program xinetd. Ciri-ciri adalah:

1. Semua perkhidmatan dikawal oleh xinetd, jadi boleh ada mekanisme kawalan keselamatan untuk xinetd, seperti tembok api rangkaian
2. Sebelum permintaan clinet, perkhidmatan yang diperlukan tidak tersedia Dimulakan; xinetd tidak akan membangunkan perkhidmatan yang sepadan sehingga pelanggan meminta perkhidmatan sebaik sahaja sambungan tamat, perkhidmatan yang sepadan akan ditutup. Oleh itu, kaedah super-daemon tidak akan menduduki sumber sistem sepanjang masa
3. Memandangkan perkhidmatan akan dimulakan hanya apabila terdapat permintaan, kelajuan tindak balas bahagian pelayan secara semula jadi tidak sepantas yang berdiri sendiri kaedah

Perkhidmatan super -Daemon tipikal termasuk: telnet, dsb.

Kaedah permulaan yang berbeza

Perkhidmatan yang berbeza dalam Linux mempunyai skrip permulaan yang berbeza untuk Sebelum memulakan perkhidmatan, lakukan pengesanan persekitaran, analisis fail konfigurasi, perancangan fail PID dan operasi lain yang berkaitan. Lokasi peletakan skrip permulaan dalam mod bersendirian dan mod super-daemon adalah berbeza, dan kaedah permulaan secara semula jadi juga berbeza.

berdiri sendiri

Skrip permulaan

berdiri sendiri Skrip permulaan terletak dalam direktori /etc/init.d/ Sebenarnya, hampir semua skrip permulaan perkhidmatan ada di sini.

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

Adakah anda perasan bahawa terdapat bukan sahaja skrip permulaan perkhidmatan yang berdiri sendiri seperti httpd dalam direktori ini, tetapi juga xinetd! Apakah maksud ini?
Ini menunjukkan bahawa perkhidmatan xinetd sebenarnya menggunakan kaedah pengurusan yang berdiri sendiri. Fikirkanlah, kerana xinetd bertanggungjawab untuk memulakan dan menghentikan banyak perkhidmatan super-daemon, adakah ia perlu disimpan dalam ingatan~

Kaedah permulaan

Kaedah 1: Memandangkan semua skrip permulaan berada dalam /etc/init.d/, adalah lebih baik untuk menghubungi terus!

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

Memanggilnya terus akan memberitahu anda Penggunaan, kemudian

[root@localhost init.d]# /etc/init.d/crond restart
Stopping crond:                                            [  OK  ]
Starting crond:                                            [  OK  ]

Semudah itu!

Kaedah 2: Anda juga boleh menggunakan skrip perkhidmatan:

[root@localhost init.d]# service crond status
crond (pid  3278) is running...

Ini lebih mudah, tetapi perkhidmatan hanya boleh digunakan untuk mengurus perkhidmatan bersendirian.

还有,这个用法可以查看系统所有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...
......(省略)

NOTA: Memandangkan skrip perkhidmatan tidak tersedia dalam semua pengedaran Linux, adalah disyorkan untuk menggunakan /etc/init.d/* [tindakan]. Ia juga membantu untuk memahami prinsip~~~

super-daemon

Skrip permulaan

Skrip permulaan daemon super diletakkan dalam /etc/xinetd.d/.

[root@localhost xinetd.d]# ls /etc/xinetd.d/
chargen-dgram   daytime-stream  echo-dgram   tcpmux-server  time-stream
......(省略)

Semak perkhidmatan yang dimulakan dalam mod super-daemon:
Kaedah 1: Gunakan chkconfig untuk melihat status permulaan perkhidmatan dalam perkhidmatan berasaskan xinetd:

[root@localhost xinetd.d]# chkconfig 
......
xinetd based services:
    echo-dgram:     off
    echo-stream:    off
    rsync:          off
    tcpmux-server:  off
    telnet:         on
    ......

Kaedah 2: Lihat terus skrip permulaan perkhidmatan

[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
......

Lumpuhan di atas= tidak bermakna perkhidmatan didayakan.

Kaedah permulaan

Kami sudah tahu bahawa terdapat disable=no dalam skrip permulaan, yang bermaksud perkhidmatan itu dihidupkan, jadi kita Kaedah permulaan ialah:

1. Mula-mula edit skrip permulaan dan tukar item lumpuhkan perkhidmatan yang perlu didayakan kepada tidak
2. Kemudian mulakan semula xinetd: /etc/ init.d/xintd mulakan semula [kerana xinetd Ia adalah perkhidmatan yang berdiri sendiri】

Cadangan berkaitan: "Tutorial Video Linux"

Atas ialah kandungan terperinci Apakah dua kategori perkhidmatan dalam Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn