今天我们来讨论一个与INTERNET联系很大的守护进程:inetd。
在INTERNET发展的初期,每种服务在系统进入多用户状态时都要启动各自的daemon.随着可用服务的不断增加,系统进程表及RAM就会被那些很少用到的进程填满,使得系统性能降低。解决这个问题的方法就在于利用INTERNET监控daemon――inetd.
inetd是一个监听守护进程,他监听与提供INTERNET服务进程(如rlogin,telnet)进行连接的要求,并扩展所需的服务进程。默认情况下inetd监听的这些daemon均列于/etc/inetd.conf文件中,并可以通过inetd的命令行进行修改,大家可以在自己的UNIX机器上做做实验。学好UNIX并不是一味看书,一定要多多做实验,有了经验,自然就成为高手了,我不希望大家都是page engineer,呵呵!
编辑/etc/inetd.conf文件,可以改变inetd启动服务器守护进程的选项,然后驱使inetd以SIGHUP(signal 1)向当前的inetd进程发送信号,使inetd重读该文件。这一过程由kill命令来实现。
随着用户对系统使用的逐步深入,可能会用到那些不是/etc/inetd.conf文件的默认项的inetd启动服务,或者需要在该文件中加入一些新的选项以后启动这些服务。
让我们来看一个例子:你要用为系统增加一个由inetd启动的web服务器,就要创建如下选项:newd stream tcp nowait root /usr/local/bin/newd ;
usr/local/lib/newd.conf此外,还要在/etc/services文件从第一列开始为httpd增加一个选项。假如newd用1023口,则该选项为:newd 1023 tcp.注意:不是所有的internet服务进程都需要用inetd启动。如果需要inetd启动,就必须遵从inetd协议。虽然你可以启动/etc/inetd.conf定义之外的一个daemon,但并不意味着你一定要用这种方式,比如,从inetd运行web服务器就会对系统产生较大的影响。
当你遇到C/S网络软件方面的问题时,通常很难断定这个问题是来自client,还是来自server如果一台服务器在连网后或是从client收到信息后能够打印出诊断信息,你就可以用telnet送出服务器的信息。除了主机名或以数字表示的IP地址外,telnet还可以直接连接一个端口号。你可以用如下方法测试你的SMTP服务器:telnet localhost 25(试一下吧,呵呵!)