强制杀了nginx进程又自动换了pid启动起来了
背景:
当 Worker 进程被强制终止时,操作系统会向 Master 进程发送一个 SIGCHLD 信号
Master 进程收到信号后,会立即调用 waitpid() 检测到有 Worker 异常退出。为了防止服务中断,Master 会迅速调用 fork() 创建一个全新的 Worker 进程。
新启动的 Worker 进程会直接继承 Master 进程已经创建好的监听端口(Socket)和配置信息,无需重新绑定端口,从而在毫秒级时间内无缝接管业务请求
因为这个原因,每次强杀nginx 总是自动启动了nginx
解决:
1.强制删除损坏的 PID 文件:
sudo rm -f /var/run/nginx.pid
2.检查并清理残留进程(防止端口被占用):
sudo killall nginx
3.重新启动 Nginx:
sudo systemctl start nginx
龙卷风之殇

浙公网安备 33010602011771号