Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5463582
  • 博文数量: 671
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 7310
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-14 09:56
文章分类

全部博文(671)

文章存档

2011年(1)

2010年(2)

2009年(24)

2008年(271)

2007年(319)

2006年(54)

我的朋友

分类: BSD

2007-01-13 17:13:36

    在类unix系统中,信号是进程之间非常重要的一种通信方式,在操作系统上也为我们提供了操作信号的用户接口(即命令行方式)。kill命令,如你所想的那样,该命令是用来“杀死”进程的,但是这只是该命令执行结果的表现。那么,实质是什么呢?其实,kill命令是向由你指定的进程发送“杀死”这一信号的即SIGKILL。

     “有两个信号可以停止进程:SIGTERMSIGKILLSIGTERM比较友好,进程能捕捉这个信号,根据您的需要来关闭程序。在关闭程序之前,您可以结束打开的记录文件和完成正在做的任务。在某些情况下, 假如进程正在进行作业而且不能中断,那么进程可以忽略这个 SIGTERM信号。

  SIGKILL信号,进程是不能忽略的。 这是一个 '“我不管您在做什么,立刻停止”'的信号。 假如您发送SIGKILL信号给进程, FreeBSD就将进程停止在那里。

   您可能会去使用 SIGHUPSIGUSR1SIGUSR2信号。 这都是些通用的信号,各种应用程序都可以应用在各方面的信号发送。

    假如您改变了web系统的配置文件──并想web系统去重读它的配置,您可以停止然后再启动httpd。但这样做web系统会导致一个短暂的中断周期,那样是不受欢迎的。几乎所有的守护进程在编写时,都会指定对SIGHUP 信号进行响应从而重读配置文件。 所以, 最好的方法,就不是杀死并重启 httpd, 而是发一个 SIGHUP 信号给它。因为在这方面没有一个标准,不同的守护进程有不同的用法,所以不了解时应读一下守护进程的文档。”

    所以,kill命令的实质就是向进程发送信号,就如上面所说一样,当我们修改了守护进程的配置文件而又要求其重新加载时,我们不需要重启计算机,不需要杀死服务在重新启动它,我们只需要使用kill命令向该守护进程发送SIGHUP信号即可:

 kill -HUP 守护进程pid

这样该守护进程就会重新读取配置文件。

阅读(984) | 评论(0) | 转发(0) |
0

上一篇:FreeBSD使用CVSup升级

下一篇:快捷键大全

给主人留下些什么吧!~~