做个好杀手Linux的Kill命令与信号(1)

文章作者 100test 发表时间 2007:03:14 16:37:57
来源 100Test.Com百考试题网


由于职责的要求,你不得不费力地阅读那些令你感到费解的晦涩的Linux应用程序的说明文件。然后,你将运行指令和编辑设置文件。一切都在正常运行,生活真美好。但是,你知道,好时光不会永远持续下去。当你遇到令人恐惧的“send the process a SIGHUP”提示时,好时光结束了。

什么是“SIGHUP(启动信号)”,你如何发送它?它像是你送给你的恋人的一束花吗?虽然你可以肯定这不是一个命令行指令,不过,你还是试着键入它。当然,这没有结果。然后,你检查一下键盘。哦,没有SIGHUP键。于是你又重新阅读这个应用程序的参考指南,看到下面这段文字:

当收到一个hangup(进程结束)信号时,sshd程序会重新阅读配置文件。通过执行启动程序时的命令及选项来发送SIGHUP信号,如:/usr/sbin/sshd。

程序员 VS 使用者

LINUX程序的在线参考指南作者一般都要既照顾到最终用户的需求也要照顾到高级程序员的需求。因此,有些说明比较难懂。不过,不要担心。现在我们就要揭开覆盖在这些让人迷惑的内容上面那神秘的面纱。

信号与进程控制

这个问题主要属于信号和进程控制的范畴。对于我们系统管理员和普通用户来说,我们主要关心的是启动、停止和重新启动服务、停止失控的进程和被挂起的进程,并且尽可能不中断系统运行。因为不同的操作系统和不同的命令外壳处理信号的方式都不相同,我们这里只介绍Linux操作系统和bash外壳。

信号是用来与守护程序和进程通信的。任何活动任务都是一个进程,而守护程序是等待对某些事件做出反应或者按照日程安排执行任务的后台服务。一个程序必须有建在其中的信号处理程序用于捕获和应答信号。在LINUX中的signal 参考指南解释了各种不同信号和这些信号的用途。信号是由“kill”命令发出的。kill -l命令可以显示一个可用信号列表及其编号。

所有的守护程序和进程都有一个进程ID(PID),例如使用ps命名所显示的内容:

$ ps aux 

  USER PID %CPU %MEM TTY STAT COMMAND 

  root 1 0.0 0.1 ? S init [2] 

  105 7783 0.0 0.2 ? Ss /usr/bin/dbus-daemon --system 

  hal 7796 0.0 0.7 ? Ss /usr/sbin/hald 

  postfix 7957 0.0 0.2 ? S qmgr -l -t fifo -u -c 

  nagios 8371 0.0 0.2 ? SNs /usr/sbin/nagios /etc/nagios/nagios.cfg


相关文章


做个好杀手Linux的Kill命令与信号(2)
Linux将改移动领域操作系统行业格局(2)
做个好杀手Linux的Kill命令与信号(1)
做个好杀手Linux的Kill命令与信号(3)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛