重启命令
// 命令
systemctl reload php-fpm
// 原理
/bin/kill -USR2 主进程id
配置php.conf
[global]
pid = run/php7-fpm.pid
error_log = /data/logs/php/php7-fpm.err
log_level = notice
// 增加以下配置
process_control_timeout = 10
process_control_timeout是留给子进程处理来自master进程信号的时间限制。
master进程根据接收到的信号以及当前的php-fpm运行状态决定发送给worker进程的是SIGQUIT还是SIGTERM,同时注册时间为process_control_timeout的定时时间,
如果在process_control_timeout时间内子进程没退出,master就会升级信号,SIHQUIT->SIGTERM,SIGTERM->SIGKILL,当信号为SIGTERM时还会注册1s的定时事件,留多1秒给worker进程结束,1秒后还未结束,信号升级为SIGKILL,直接终止worker进程。
网友评论