apache2 重启、中止、优雅重启、优雅中止

中止或者从新启动Apache有两种发送信号的方法

     第一种方法:linux

    直接使用linux的kill命令向运行中的进程发送信号。你也许你会注意到你的系统里运行着不少httpd进程。但你不该该直接对它们中的任何一个发送信号,而只要对已经在PidFile中记载下了自身PID的父进程发送信号。也就是说,你没必要对父进程之外的任何进程发送信号。你能够向父进程发送三种信号:TERMHUPUSR1 ,咱们过一下子再进行详细的说明。apache

    你能够用下面这样的命令来向父进程发送信号:spa

      kill -TERM cat /usr/local/apache2/logs/httpd.pid命令行

 第二种方法
    使用下面将要描述的httpd二进制可执行文件的 -k 命令行选项:stoprestartgracefulgraceful-stop 。不过更推荐你使用apachectl控制脚原本向httpd二进制可执行文件传递这些选项。rest

    当你向httpd发送信号后,你能够这样来读取它的进行过程:日志

      tail -f /usr/local/apache2/logs/error_logcode

1.中止

    apachectl -k stop

   发送TERM或stop信号到父进程可使它马上杀死全部子进程。这将花费一些时间来杀死全部子进程。而后父进程本身也退出。全部进行中的请求将被强行停止,并且再也不接受其它请求。

2.重启

    apachectl -k restart 

   向父进程发送HUP或restart信号会使它象收到TERM信号同样杀掉全部的子进程,不一样之处在于父进程自己并不退出。它从新读入配置文件、从新打开日志文件。而后产生一系列新的子进程来继续服务。

3.优雅重启

    apachectl -k graceful 

   USR1或graceful信号使得父进程建议子进程在完成它们如今的请求后退出(若是他们没有进行服务,将会马上退出)。父进程从新读入配置文件并从新打开日志文件。每当一个子进程死掉,父进程马上用新的配置文件产生一个新的子进程并马上开始伺服新的请求。


4.优雅中止

    apachectl -k graceful-stop

   WINCH或graceful-stop信号使得父进程建议子进程在完成它们如今的请求后退出(若是他们没有进行服务,将会马上退出)。而后父进程删除PidFile并中止在全部端口上的监听。父进程仍然继续运行并监视正在处理请求的子进程,一旦全部子进程完成任务并退出或者超过由GracefulShutdownTimeout指令规定的时间,
    父进程将会退出。在超时的状况下,全部子进程都将接收到TERM信号并被强制退出。
相关文章
相关标签/搜索