(View this PageEdit this PageUploads to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide)
[blog] [ML] [todo] [CVS] [bug] [apache log] [swiki log] [statistics] [map] [man] [info] [アンテナ]

xinetd

昔は、inetd+tcp wrapperが主流であったが、最近のディストリでは、xinetdを使うのが
一般的となりつつある。

-----------

その前に簡単にinetdについて

通常のネットワーク接続型アプリケーションでは、接続先ポートを常時監視して、
特定のポートに接続があって、初めてサービスを開始します。
この場合、各プロセスは、常時ポートを監視する必要があり、プロセスとして
ずっとおきている必要があります。(常駐ってこと)

当然、接続されるまで意味のないプロセスがずっといるわけなので、無駄にマシン
のリソースを食ってしまいます。
そこで、考えられたのが inetdです。inetdは、/etc/inetd.conf,
/etc/serviceを参照して、接続のあったポート(/etc/serviceで設定)
に対応するプロセス(/etc/inetd.confで設定)を起動します。
inetd自体は、bind, listen, acceptなんかやってくれちゃいますので、
アプリケーションとしては、その後の処理を引き受けます。
そんでもって、接続が切れると、対応するプロセスは終了するということ
になります。

-----------

inetdからxinetdへの移行について。

普通にinetd.confを書いて、xinetd付属のinetdconv perlスクリプトにかければ
いいぞ!

-----------

関連サイト




-----------

Links to this Page