手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>操作系统>FreeBSD>列表

FreeBSD中Telnet最大连接用户数的定制

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

296 nik 2 0 3240K 1644K select 0:12 0.05% 0.05% xterm
48630 nik 2 0 29816K 9148K select 3:18 0.00% 0.00%
navigator-linu
175 root 2 0 924K 252K select 1:41 0.00% 0.00% syslogd
7059 nik 2 0 7260K 4644K poll 1:38 0.00% 0.00% mutt
...
第8 页FreeBSD 使用手册
整个输出被分为两节。头上(最初5 行)显示运行着的进程的PID,系统的平均负载(反
映系统的繁忙程度),系统的正常运行时间(从上次重起以来的时间),和当前时间。其
它的图显示了当前运行了多少个进程,有多少内存和交换空间已经被占用,系统在不同CPU
状态之间切换需要花费多长时间。
下面有一连串的竖直排列的ps 命令的输出信息。你可以看到PID,用户名,CPU 时钟
的花费数量,正在运行的命令。Top 也默认地显示了进程所花费掉的内存空间的数量。这可
以被分成两列,一列针对所有的内存数量,一列针对常驻内存数量。整个内存数量就是应
用程序需要多少内存,常驻内存是在此刻使用的内存数量。在这个例子中,你可以看到
Netscape 使用了30M 内存,当前只使用了9MB。Top 每隔两秒自动刷新一次;这可以通过加
上s 选项来修改。
3.6 守护程序,信号和杀死进程
当你使用一个编辑器的时候,你可以要求它加载一些文件。因为它们提供了这样的功
能,而且它们是与一个终端连在一起的。但,有一些程序却不能让用户输入信息,它们是
不与终端连在一起的。例如,一个web 服务器花费所有的时间来回应用户的请求,它通常
不需要你有任何的输入。从一个站点到另一个站点传送email 是另外一个这种类型的应用
例子。我们叫这些程序为daemons(守护程序)。Daemon 具有希腊神话的特征;今天的许
多web 服务器和mail 服务器都使用这些。有时你可能需要与一个守护程序进行通讯。这些
通讯就叫做signal。你可以通过给它发送signal(或是运行进程)来与守护程序通讯。如
果你发送的signal 有很多(有一些有特殊的用处),其它的与应用程序集成在一起,应用
程序的文档会告诉你如何解释signal。你可以发一个signal 给你的一个进程。如果你设法
发送一个signal 给其他人的进程,它就会被忽略。Root 用户除外,它可以发送signal 给
每一个进程。
如果一个应用程序写入错误,就会设法访问内存,FreeBSD 会给进程发送Segmentation
Violation signal (SIGSEGV)。如果一个应用程序使用alarm 系统来发出警告,那一段时
间以后,它也会发送警告信号。
两个信号可能会中断一个进程,SIGTERM 和SIGKILL。SIGTERM 是一个比较友好的杀死
进程的方法;这个进程也会捕获信号,以便让你关机,关闭可能打开的一些日志文件。在
第9 页FreeBSD 使用手册
关机之前,通常需要完成当前正在做的工作。有时,如果它是处在一个不能打断的任务中,
一个进程可以忽略SIGTERM。
SIGKILL 无法被进程忽略。它会发出这样的信号“I do not care what you are doing,
stop right now”。如果你发送SIGKILL 给一个进程,FreeBSD 将会停止那个进程。
你可能要用到的其他signal 是SIGHUP, SIGUSR1 和SIGUSR2。这些是普通用途的
signal。当他们被发送时,不同的应用程序将做不同的事情。
建议你改变一下你的web 服务器的配置文件----你最好告诉web 服务器重新读一下它
的配置文件。你需要重起httpd,但这将会在你的web 服务器上增加一些消耗,而这可能是
你不太欢迎的。绝大多数守护程序通过重新读取它们的配置文件来对SIGHUP 信号作出回应。
不同的后台程序将有不同的行为。所以,要带着问题来阅读守护程序的联机手册。
可以使用kill 命令来发送signal,例如:
发送一个signal 给处理器
这个例子显示了如何发送一个信号给inetd。Inetd 的配置文件是/etc/inetd.conf。当它
接收到SIGHUP 时,inetd 将重新读取这个配置文件。
寻找你要发送信号的进程ID。可以使用ps,grep 命令。Grep 命令被用来搜索输出, 1.
寻找你要指定的字符。这个可以有一个普通用户来执行,而inetd 需要是root 用户,所以
ps 必须带上ax 选项
% ps -ax | grep inetd
198 ?? IWs 0:00.00 inetd -wW
这儿,inetd 的PID 是198。有时,grep inetd 命令也需要出现在这个输出中。这是
因为ps 必须要找到当前运行的进程的列表。
使用kill 来发送信号。因为inetd 只有root 用户才能运行,你必须使用su 来变2.
成一个root 用户。
% su
Password:
第10 页FreeBSD 使用手册
# /bin/kill -s HUP 198
就象普通的unix 命令一样,如果它成功执行,kill 将不会输出任何信息。如果你想发
送一个signal 给一个进程,你会看到“kill: PID: Operation not permitted”。如果你
打错了PID,你有可能把信号发错给了某个进程,这样会很糟糕,也有可能把信号发给了一
个当前不在使用的PID,你将可能看到“kill: PID: No such process”这样的信息。
为什么使用/bin/kill:许多shell 提供了内建命令kill;shell 将直接发送信号,比
运行/bin/kill 要好。这点非常有用,但不同的shell 需要用不同的语法来指定信号的名字。
重要点:在系统中随意地杀死进程是个坏主意。特别地,init 进程ID 是1,非常特殊。
运行/bin/kill -s KILL 1 是一个快速关闭你系统的方法。在你键入kill 之前,请你仔细
检查你执行的kill 的参数。
3.7 Shell
在FreeBSD 中,许多工作是通过一个叫命令解释器{俗称“外壳(shell)”}的命令行
接口来完成的。shell 的主要工作是接收输入的命令然后执行它们。许多shell 也能够用来
帮助完成每天的工作,如:文件管理,文件查找,命令行编辑,宏命令,以及其它环境设置。
FreeBSD 有许多种shell,如:sh,Bourne Shell 和csh,C-shell。许多其它的shell,如
tcsh,bash 拥有更强大的功能,你可以在FreeBSD 的软件包中找到。
你使用哪个shell?那还正是个问题。如果你是一个C 程序员,你可能觉得象tcsh 这
种C 类型的shell,用起来比较舒服。如果你使用Linux 或你是一个UNIX 的新手,你可能
会试一试bash。这里要指出的是每一种shell 都有它自己的特点,你可以根据你的喜好自

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!