總覽 SYNOPSIS
xinetd [options]
描述 DESCRIPTION
xinetd 執行與 inetd
相同的任務:它啟動提供網際網路服務的程式。與在系統初始化時啟動這些伺服器,讓它們保持休眠,直到有連線請求到達才提供服務這種做法不同, fBxinetd
是唯一的被啟動的守護程序,它偵聽各種服務在它們各自的配置檔案中列出的所有埠。當一個請求到達,xinetd
啟動合適的伺服器。因為它以這種方式操作,xinetd
(還有 inetd)
常被稱作超級伺服器。
列在 xinetd
的配置檔案中的服務可以分為兩組。第一組的服務稱為
多執行緒的 (multi-threaded)
並且它們需要為每個新的連線請求產生
(fork)
一個新的伺服器程序。接下來新的伺服器將處理那個連線。對於這些服務,xinetd
保持偵聽新的請求從而可以孵化
(spawn)
新的伺服器。另一方面,第二組包含著需要由伺服器守護程序處理所有新的連線請求的服務。這些服務稱為
單執行緒的 (single-threaded)
並且 xinetd
將停止為它們處理新的請求,直到這個伺服器退出。這個組中的服務一般都是基於資料報的。
至今,超級伺服器存在的唯一理由是透過避免大量產生生命週期中大部分時間可能都是空閒著的程序,從而節省系統資源。當實現這種功能時, fBxinetd
從超級伺服器這種思想中獲得了好處,可以提供訪問控制和日誌等特性。更進一步,xinetd
不僅限於偵聽 /etc/services
中列出的服務。因此,任何人都可以使用
xinetd
來啟動特殊用途的伺服器。
選項 OPTIONS
- -d
- 啟用除錯模式。這樣將產生大量除錯輸出,並且使得在
xinetd
上使用一個偵錯程式成為可能。
- -syslog
syslog_facility
- 這個選項使得 syslog
使用指定的日誌功能來記錄
xinetd
產生的訊息。可以使用下列功能:
daemon, auth, user, local[0-7]
(參見 syslog.conf(5)
來檢視它們的意義)。這個選項在
debug
模式是無效的,因為所有的相關資訊都將送到終端上。
- -filelog
logfile
- xinetd
產生的資訊將放到指定檔案中。資訊總是新增到檔案之後。如果檔案不存在,將會被建立。這個選項在
debug
模式無效,因為所有的相關資訊都將送到終端上。
- -f
config_file
- 決定xinetd
用來配置的檔案。預設設定是
/etc/xinetd.conf。
- -pidfile
pid_file
-
程序 ID
被寫入的檔案。這個選項在
debug 模式無效。
- -dontfork
- 指定xinetd
在前臺執行,而不是分離自身以支援由
init 或 daemontools
執行。這個選項自動設定了
-stayalive (參見下面)。
- -stayalive
- 指定xinetd
保持執行,即使沒有指定服務。
- -limit
proc_limit
- 這個選項為 xinetd
可以啟動的並行執行的程序數設定了一個上限。目的是防止程序表溢位。
- -logprocs
limit
- 這個選項為服務遠端使用者的並行執行的程序數設定了一個上限。
- -version
- 這個選項使得 xinetd
打印出它的版本資訊。
- -inetd_compat
- 這個選項使得 xinetd
在標準的配置檔案之外,附加地讀取/etc/inetd.conf。/etc/inetd.conf
的讀取是在讀取標準的配置檔案之後。
- -cc
interval
- 這個選項指定 xinetd 每
interval
秒對內部狀態進行一次定時的一致性檢查。
syslog 和 filelog
選項是互相獨立的。如果沒有指定任何一個,預設將使用
syslog 的 daemon
功能。你不應將 xinetd
資訊與和服務日誌相關的資訊相混淆。後者只有在配置檔案中指定之後才會記錄。
控制 xinetd CONTROLLING XINETD
xinetd
收到一定的訊號時會執行一定的動作。與特定訊號相關聯的特定動作可以透過修改
config.h
並且重新編譯來重新定義。
- SIGHUP
- 導致一個強制的重新配置,意味著
xinetd
重新讀取配置檔案,停止不再有效的服務的伺服器。在正在執行的伺服器上將重新整理訪問控制,檢查遠端位置,訪問時間和伺服器例項。如果允許的伺服器例項數減少了,一些隨機選取的伺服器將會被殺掉來滿足限制;
這將在任何伺服器停止之後發生,因為不能透過遠端位置或訪問時間的檢查(this
will happen after any servers are terminated because of failing the
remote location or access time
checks)。還有,如果 INTERCEPT
標誌被清除後又重新設定,此服務的任何執行中的伺服器將被停止。這樣做的目的是保證在強制的重新配置之後,沒有那種接受從不遵循訪問控制標準的地址發來的包的伺服器在執行。
- SIGQUIT
- 導致程式退出。
- SIGTERM
- 在 xinetd
退出之前,停止所有執行中的伺服器。
- SIGUSR1
- 導致內部狀態轉儲
(預設的轉儲檔案是
/var/run/xinetd.dump;要改變檔名,修改
config.h
然後重新編譯。)
- SIGIOT
- 導致一個內部一致性檢查來核對程式使用的資料結構沒有崩潰。當檢查結束時,
xinetd
將產生一個訊息,報告測試是成功了還是失敗了。
重新配置的時候,日誌檔案被關閉又重新開啟。這樣做允許移除舊的日誌檔案。
檔案 FILES
- /etc/xinetd.conf
- 預設的配置檔案
- /var/run/xinetd.dump
- 預設的轉儲檔案
作者 AUTHOR
Panos Tsirigotis, CS Dept, University of Colorado, Boulder Rob
Braun
發音 PRONUNCIATION
zy-net-d
《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net
跋
本頁面中文版由中文
man 手冊頁計劃提供。
中文 man
手冊頁計劃:https://github.com/man-pages-zh/manpages-zh