| FreeBSD handbook中文版 3 Unix 基础 |
 |
作者: 来源: 日期:2007-6-14 10:26:39 点击次数: |
|
第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 都有它自己的特点,你可以根据你的喜好自 由地选择。Shell 的一个基本特征是文件名的自动补充功能。通常在你输入一个命令或文件 名时,你先输入几个字母,然后按TAB 键,命令或文件名会自动补上剩下的字母。例如:我 有两个文件:foobar 和foo.bar。我要删除foo.bar。所以我就输入:rm foo[TAB].[TAB]。 Shell 就会打出rm foo[BEEP].Bar。[BEEP]是铃声。它能够告诉我,因为匹配的问题shell 上一篇:FreeBSD handbook中文版 2 开始安装FreeBSD(2) 下一篇: FreeBSD handbook中文版 4 安装应用程序:Packages 和Ports |
|
|
 |
| 北京总部: 4006-505-808 |
| 上 海 部: 021-58358765 |
| 深 圳 部: 0755-83692929 |
| 浙 江 部: 13666673722 |
| 广 州 部: 020-83821091 |
| 重 庆 部: 023-86870422 |
| 昆 明 部: 15987117834 |
| 哈尔滨部: 13946167430 |
| 其它地区: 4006-505-808 | | | |
|
 |
|