Nginx系列p5:进程管理(信号)

通过上图我们可以看到:信号与命令行的关系,下面我们来简单总结一下上述命令的作用:
CHLD: 当子进程终止的时候,会向父进程发送 CHLD 信号,这样,如果子进程由于某些模块出现了 Bug,导致子进程意外终止的情况时,那么父进程可以立刻通过 CHLD 信号发现这样一个事件,然后重新拉起进程,从而达到配置文件中所指定的 worker 进程的数量。
TERM,INT : 表示立刻停止 Nginx 进程,等同于命令行的 stop。
QUIT:表示优雅的停止 Nginx 进程,优雅:慢慢的关闭,不立刻关闭与客户端的连接,比如 TCP 连接的情况,不会立刻发送 reset 复位请求的报文。
HUP: 表示重新载入配置文件,等同于命令行的 reload。
USR1: 表示重新打开日志文件,常用于日志文件的切割,等同于命令行的 reopen。
USR2: 表示重新生成一个新的 master 进程以及新的 master 进程生成新的 worker 进程,用于热部署。
WINCH: 优雅关闭老的 master 进程下的 worker 进程,用于热部署。
注释:红色的信号只能通过 linux 命令来发送给 master 进程,所以我们需要知道 master 进程的 PID。
总结:当我们从命令行执行对应的命令时,比如:./nginx -s reload 这个命令时,首先读取 logs/nginx.pid 文件,找到当前 master 的 PID,然后向 master 发送对应的信号。
Nginx系列p5:进程管理(信号)的更多相关文章
- nginx 进程管理-信号
进程结构:一个master进程和多个子进程. 子进程分两类:一种是 Worker 进程,另一种是 Cache 相关的进程. master进程:管理 Worker 进程,发送信号. 接收信号: TERM ...
- Linux系列之进程管理
前言 进程是正在运行的程序,Linux系统通常有数百个进程同时运行.本文就来介绍下Linux是如何进行进程管理的. 我们可以看到: 查看进程(Viewing processes) 查找进程(Findi ...
- Linux进程管理—信号、定时器
信号: 1. 信号的作用: 背景: 进程之间通信比较麻烦. 但进程之间又必须通信,比如父子进程之间. 作用: 通知其他进程响应.进程之间的一种通信机制. 信号: 接受信号的进程马上停止,调 ...
- 使用信号管理nginx的父子进程
master进程 通过CHLD监控worker进程,worker异常退出,通过CHLD信号拉起worker进程. 接收信号 TERM,INT信号表示立刻停止worker进程 QUIT信号表示优雅的停止 ...
- 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx] ...
- Linux—进程管理
Linux 进程管理 1.进程管理介绍 1.1 什么是进程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 简而言之 ...
- 【转】Nginx系列(三)--管理进程、多工作进程设计
原博文出于:http://blog.csdn.net/liutengteng130/article/details/46700999 感谢! Nginx由一个master进程和多个worker进程组 ...
- Nginx系列(三)--管理进程、多工作进程设计
Nginx由一个master进程和多个worker进程组成,但master进程或者worker进程中并不会再创建线程. 一.master进程和worker进程的作用 master进程 不须要处理网络事 ...
- Nginx学习笔记1-Nginx功能模块以及进程管理
1. 功能 1.1. 功能描述 使用缓存加速反向代理,简单负载均衡和容错: 使用缓存机制加速远程FastCGI服务器的访问: 模块化结构: 基本的HTTP功能: 邮 ...
随机推荐
- POJ 2386 Lake Counting 八方向棋盘搜索
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 53301 Accepted: 26062 D ...
- MySQL 通过SQL语句导出表为文件
SELECT * //你要导出的字段 FROM `tabel` //表名 INTO OUTFILE "D:\\file.txt" //导出的文件路径和文件名 LINES TERMI ...
- k8s 各种网络方案【转】
网络模型有了,如何实现呢? 为了保证网络方案的标准化.扩展性和灵活性,Kubernetes 采用了 Container Networking Interface(CNI)规范. CNI 是由 Core ...
- 【LeetCode】加油站
[问题]在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中 ...
- SpringBoo#Mybatis多个数据源配置,Sqlite&Mysql
第一步:排除数据源的自动配置类: @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 第二步:定义好两个数据源的 ...
- 052、Java中使用do…while循环实现1~100的累加
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- DISCOVERING THE ANTI-VIRUS SIGNATURE AND BYPASSING IT
前言:看了这篇突然想起,2019年刚开始学习的时候在心东的视频教程中,他当时在360的情况下绕Regsvr32跟这篇文章也有点相似,不过这个人的思路更加的广阔! X
- LeetCode160 相交链表(双指针)
题目: click here!!题目传送门 思路: 1.笨方法 因为如果两个链表相交的话,从相交的地方往后是同一条链表,所以: 分别遍历两个链表,得出两个链表的长度,两个长度做差得到n,然后将长的链表 ...
- POJ 3916:Duplicate Removal 将相近的重复元素删除
Duplicate Removal Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 1745 Accepted: 1213 ...
- POJ 1852:Ants
Ants Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 11754 Accepted: 5167 Description ...