Linux サービスは、管理方法に応じて、「スタンドアロン」と「スーパーデーモン」、つまり独立した管理サービスと統合管理サービスの 2 つのカテゴリに分類されます。独立管理サービスは、他のメカニズムによる管理を必要とせずに独立して開始できますが、統合管理サービスは統合デーモンを通じて開始および管理されます。
#このチュートリアルの動作環境: CentOS6 システム、Dell G3 コンピューター。
Linux システム サービス (デーモンとも呼ばれます) は、メモリ内に常駐し、必要なサービス (システム サービスまたはネットワーク サービス) を提供するために実行し続けるプロセスを指します。
Linux システム サービスは、管理方法に応じて、主にスタンドアロンとスーパー デーモンの 2 つのカテゴリに分類されます。つまり、独立管理サービスと統合管理サービスです。
スタンドアロン: このタイプのサービス メカニズムは比較的単純で、サービスを独立して開始できます。その特徴は次のとおりです:
1. 他のメカニズムによる管理を必要とせずに、独立して開始できます
2. スタンドアロン サービスが開始され、メモリに読み込まれると、常にサービスが停止されるまでメモリ空間とシステム リソースを占有します。
3. サービスは常に実行されているため、クライアントのリクエストに対する応答が速くなります。典型的なスタンドアロン サービスには、httpd および ftp が含まれます。
スーパー デーモン: この管理メカニズムは、デーモンは、他のサービスの開始と管理を担当します。 CentOS6.X では、このスーパーデーモンは xinetd プログラムです。機能は次のとおりです:
##さまざまな起動方法1. すべてのサービスは xinetd によって制御されるため、ネットワーク ファイアウォールなどの xinetd のセキュリティ制御メカニズムが存在する可能性があります
2. clnet リクエストの前に、必要なサービスは存在しません。 available Started; xinetd は、クライアントがサービスを要求するまで、対応するサービスを起動しません。接続が終了すると、対応するサービスは閉じられます。そのため、スーパーデーモン方式は必ずしもシステムリソースを占有するわけではありません## 3. リクエストがあったときのみサービスを起動するため、当然サーバー側の応答速度はスタンドアロン方式ほど速くありません典型的なスーパー デーモン サービスには、telnet などがあります。
スタンドアロン
起動スクリプトスタンドアロン起動スクリプトは /etc/init.d/ ディレクトリにあり、実際、ほとんどすべてのサービス起動スクリプトがここにあります。
[root@localhost init.d]# ls /etc/init.d/ abrt-ccpp htcacheclean ntpd smartd abrtd httpd ntpdate snmpd xinetd ......(省略)
このディレクトリには、既知の httpd などのスタンドアロン サービス起動スクリプトだけでなく、
xinetd も存在することに気づきましたか?これはどういう意味ですか? これは、xinetd サービスが実際にスタンドアロン管理方法を使用していることを示しています。考えてみてください。xinetd は多くのスーパー デーモン サービスの開始と停止を担当するため、メモリ内に常駐する必要がありますか~
スタートアップ メソッド
方法 1:すべての起動スクリプトは /etc/init.d/ にあるため、それらを直接呼び出す方が良いでしょう。 [root@localhost init.d]# /etc/init.d/crond
Usage: /etc/init.d/crond {start|stop|status|restart|condrestart|try-restart|reload|force-reload}
直接呼び出すと使用法が表示され、
[root@localhost init.d]# /etc/init.d/crond restart Stopping crond: [ OK ] Starting crond: [ OK ]
とても簡単です。
方法 2:サービス スクリプトを使用することもできます: [root@localhost init.d]# service crond status
crond (pid 3278) is running...
これは簡単ですが、サービスはスタンドアロン サービスの管理にのみ使用できます。
还有,这个用法可以查看系统所有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... ......(省略)注:
サービス スクリプトはすべての Linux ディストリビューションで利用できるわけではないため、/etc/init.d/* [アクション] を使用することをお勧めします。また、原理を理解するのにも役立ちます~~~
スーパーデーモン
##起動スクリプト#スーパーデーモン起動スクリプトは/etc/xinetd.d/に配置されています。
[root@localhost xinetd.d]# ls /etc/xinetd.d/ chargen-dgram daytime-stream echo-dgram tcpmux-server time-stream ......(省略)どのサービスがスーパーデーモン モードで開始されているかを確認します:
方法 1: chkconfig を使用して、xinetd ベースのサービスのサービスの起動ステータスを確認します:
[root@localhost xinetd.d]# chkconfig ...... xinetd based services: echo-dgram: off echo-stream: off rsync: off tcpmux-server: off telnet: on ......
方法 2: 直接表示上記のサービスの起動スクリプト
[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 ......
disable=noは、サービスが有効であることを意味します。
#起動スクリプトに disable=no がある場合、それは、サービスがオンになっているので、起動方法は次のとおりです:
1. まず起動スクリプトを編集し、有効にする必要があるサービスの無効項目を no に変更します2. 次に、xinetd を再起動します。 etc/init.d/xintd restart [xinetd はスタンドアロン サービスであるため]
関連する推奨事項: 「
Linux ビデオ チュートリアル
以上がLinux のサービスの 2 つのカテゴリは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。