《PHP - 信号/基本操做/配置》

一:PHP 信号数据结构

  - SIGINT / SIGTERM / SIGQUIT函数

    - 退出FPM,在master收到退出信号后将向全部的worker进程发送退出信号,而后master退出。spa

 

  - SIGUSR1操作系统

    - 从新加载日志文件,生产环境中一般会对日志进行切割,切割后会生成一个新的日志文件。日志

    - 若是fpm不从新加载将没法继续写入日志,这个时候就须要向master发送一个USR1的信号。进程

 

  - SIGUSR2it

    - 重启FPM ,首先master也是会向全部的worker进程发送退出信号,而后master会调用execvp()从新启动fpm,最后旧的master退出。ast

 

  - SIGCHLD配置

    - 这个信号是子进程退出时操做系统发送给父进程的,子进程退出时,内核将子进程置为僵尸状态,这个进程称为僵尸进程。数据

    - 它只保留最小的一些内核数据结构,以便父进程查询子进程的退出状态,只有当父进程调用wait或者waitpid函数查询子进程退出状态后子进程才了结止。

    - fpm中当worker进程由于异常缘由(好比coredump了)退出而非master主动杀掉时master将受到此信号

    - 这个时候父进程将调用waitpid()查下子进程的退出,而后检查下是否是须要从新fork新的worker

 

一:PHP 基本操做

三:PHP 配置

相关文章
相关标签/搜索