TCP-IP
今天我們來討論一個與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(試一下吧,呵呵!)