inetd - 因特网“超级服务”
总览
inetd - [ -d ] [ -q 队列长度 ] [ 配置文件名 ]
描述
inetd通常在系统启动时由/etc/rc.local引导。inetd会监听指定internet端口是否有连接要求。当发现有某个端口有连接要求时,inetd将决定由哪个服务器进程来响应该连接要求,并调用该服务器程序。当程序运行结束后,inetd会继续对该端口进行监听(除了以下所涉及的原因)。从本质上讲,inetd可以只运行一个守护进程,该守护进程可以在需要时调用其它服务进程,从而减轻系统负担。
选项
inetd的可用选项:
- -d
- 打开调试功能。
- -q
- 队列长度设置端口监听队列的长度值,默认值为128。
说明
在运行时,inetd会读取它的配置文件,默认为/etc/inetd.conf。该配置文件的每一个栏都有一个条目,栏中每一项由空格或制表符进行分隔。以井号开头的是注释文本。其格式如下所示:
- service name 服务名
- socket type 接口类型
- protocol
- 协议名
- wait/nowait[.max] 等待/不等待
- user[.group] 用户/组
- server program 服务器程序
- server program arguments 服务器程序参数
如果定义的是基于Sun-RPC的服务,则将包含有以下内容:
- service name/version 服务名
- socket type 接口类型
- rpc/protocol 协议名
- wait/nowait[.max] 等待/不等待
- user[.group] 用户/组
- server program 服务器程序
- server program arguments 服务器程序参数
服务名指的是一个在文件/etc/services中有定义的合法服务。相对局域网而言(下面讨论),服务名须为该服务的官方名称(即,处于文件 /etc/services中的第一行)。当定义一个基于Sun-RPC的服务时,此栏内容须是一个在文件/etc/rpc中有定义的合法服务名。在斜械右侧的是RPC的版本号。此版本号可以是一个单一数字,也可以是一个从低到高的版本范围,如:“rusers/1-3”。
接口类型则是“stream”、“dgram”、“raw”、“rdm”或“seqpacket”中的一个,这取决于其数据的类型是什么。
协议名须是在文件/etc/protocols中有定义的合法协议。例如:“tcp”或“udp”。基于RPC的服务可以定义为:“rpc/tcp”或“rpc/udp”。
等待/不等待栏仅当定义接口类型为datagram时有效(其它接口在这里都使用“不等待”)。如果希望一个数据包到达它的同侪后,服务器立刻释放端口,使inetd可以继续监听此端口,即称为“多线程服务”,此时该栏须设为“不等待”。如果服务器都在一个端口传输数据包而且不会将此端口释放,则称此为“单一线程”,此时应设此栏为“等待”。Comsat(8)和talkd(8)是后一种数据类型的应用。Tftpd(8)则是一个例外,此数据服务建立的是一个虚拟的连接,为了避免竞争,此处应设为“等待”。服务器读在取第一个数据包后,重新建立一个新的接口供inetd继续提供监听使用,而旧的接口将在处理完该任务后将自动中断。可选项后缀“max”(与“等待”可“不等待”用逗号分隔)定义inetd在60秒内提供服务的最大进程数,缺省值为 40。
用户栏应包含可以使用该服务程序用户的用户名。此选项充许赋于inetd服务器程序低于root的权限。可以在用户名后用逗号分隔加上组名称,此选项可以使inetd在运行时以所定义的组身份运行而非/etc/password文件中定义的身份。如果在此定义了组名而所定义的用户名不是root 时,该用户所在组的名字将自动附加到此处。
服务器程序栏应包含全路径的服务器程序名,inetd在监听到某套接字上有请求时会调过该服务器程序。如果某服务由inetd内部提供,则此处应填“internal”。
服务器程序参数栏中应包含所有服务器程序运行时必须的各参数。如果服务程序由inetd内部提供,则此处应填“internal”。
inetd通过内部常规工作,自身也提供一些小的服务。这些服务有 “echo”、“discard”、“chargen”、“daytime”(人类语言)和“time”(以秒为单位的机器语言,从1900年1月1日零时开始计时)。所有这些服务都是基于tcp的。如想更深一步了解这些服务,可以从网上获得相关RFC文档。
inetd在接收到SIGHUP挂起信号后会重新读取其配置文件。在重读配置文件后,可能增加、减少或改变已有的服务。inetd在运行时会创建一个/var/run/inetd.pid的文件用来存放它的进程号。
inetd - 因特网“超级服务”的更多相关文章
- 交叉编译inetutils并配置telnet服务
inetutils集成了许多网络客户和服务程序,主要有,finger, ftp, ftpd, rcp, rexec, rlogin, rlogind, rsh, rshd, syslog,syslog ...
- Linux系统自带服务罗列
/ect/services 文件列出了系统详细的服务 红色字体为常用服务 acpid ACPI(全称 Advanced Configuration and Power Interface)服务是电源管 ...
- Linux 服务具体解释
acpid ACPI(全 称 Advanced Configuration and Power Interface)服务是电源管理接口. 建议全部的笔记本用户开启它. 一些server可能不须要 ac ...
- nmbd - 向客户端提供构造在IP之上的NetBIOS名字服务的NetBIOS名字服务器
总览 SYNOPSIS nmbd [-D] [-F] [-S] [-a] [-i] [-o] [-h] [-V][-d <debug level>] [-H <lmhosts fil ...
- 开源服务专题之-------rsync数据备份
RSYNC是Remote Sync 远程同步的简称,与SCP的比较,SCP= 无法备份大量数据,类似windows的复制,而rsync=边复制 ,边统计,边比较,可以备份大量数据.可以镜像保存整个目录 ...
- WCF开发指南之构建服务
一. 引言 Windows通讯基础(简称为WCF)是一种SDK,用于让你使用典型的CLR编程结构(例如用于发布和消费服务的类和接口等)来构建Windows面向服务的应用程序.WCF的编程模型是声明性的 ...
- google和ebay微服务经验
摘自:http://www.infoq.com/cn/articles/ecosystems-of-microservices 多元化(polyglot)微服务是终极游戏 大规模系统和多元化微服务最终 ...
- linux关闭服务的方法
本文介绍下,在linux下关闭服务的方法,主要学习chkconfig的用法,有需要的朋友参考下. 先来看一个在linux关闭服务的例子,例如,要关闭sendmail服务,则可以按如下操作. 例1, 复 ...
- AIX系统开启ftp服务
http://blog.itpub.net/28227905/viewspace-1060183/ 当然,首先网络工程师给你放开策略,开通ftp端口之后,你才能做下一步. [@more@] AIX开启 ...
随机推荐
- 高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解
Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接.非阻塞 ...
- win下gvim或者linux下的vim安装vundle都适用的配置文件 - 在当前目录及其子目录下**, 的所有文件* 中, 搜索当前光标所在的单词
gvim下的普通配置: if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=utf-8,g ...
- kotlin之数组
一.使用arrayOf函数定义可以存储任意值的数组 var arr1 = arrayOf(1,2,3,'a') println(arr1[3]) 二.使用arrayOfNulls函数定义数组 var ...
- linux如何杀掉进程(kill)
方法/步骤1: 使用“ps -e|grep mysql”命令,查看mysql程序的对应的pid号.结果如下图: 方法/步骤2: 使用“kill -9 2891”命令,可以结束掉mysqld_saf ...
- [Python]if语句的练习
习题: 小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻 18.5-25:正常 25-28:过重 28-32:肥 ...
- 机器学习之K近邻算法
K 近邻 (K-nearest neighbor, KNN) 算法直接作用于带标记的样本,属于有监督的算法.它的核心思想基本上就是 近朱者赤,近墨者黑. 它与其他分类算法最大的不同是,它是一种&quo ...
- 如何实现在Eclipse导入c3p0
1 右键项目->Properties->Java Build Path->Libraries->Add External JARs...-> c3p0-0.9.5.2.j ...
- MJRefresh实现请求数据列表不满一页,或者请求数据为空时,不显示footer文字
最近自己负责的项目测试要求: 列表的数据不满一页的话就自动隐藏下面的“上拉加载更多”或是“到底了,没有更多数据”. 百度了一下,看了一篇博客的介绍实现: http://blog.csdn.net/gx ...
- java:struts框架5(Converter,Validation,Tags(Object-Graph Navigation Language))
1.Converter: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTY ...
- lua基础学习(五)
一.Lua 模块与包 模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低 ...