Linux的super super super easy教程 | 用户态 内核态 终端 reload

文章讲述了在Linux系统中,用户态与内核态的概念,以及如何从用户态切换到内核态,主要涉及系统调用和中断。同时,详细介绍了Nginx的热升级过程,包括如何替换二进制文件并使用`nginxreload`来实现版本更新,此过程中master进程号保持不变,但worker进程号和版本会更新。
摘要由CSDN通过智能技术生成

用户态和内核态

(一般来说用户态大于内核态 当用户态大量对硬件进行读写的时候 内核态会大于用户态)

用户空间里面运行的叫用户态(自己的应用程序的代码运行起来的)

内核空间里面运行的是内核态(系统调用和内核的代码运行起来的)

用户态的内容需要调用硬件就会变成内核态

当我们在系统中执行一个程序时,大部分时间是运行在用户态下的,在其需要操作系统帮助完成某些它没有权力和能力完成的工作时就会切换到内核态(比如操作硬件)。

用户态变成内核态:(核心就是运行内核里的代码)

  1. 异常
  2. 中断
  3. 系统调用

中断

软中断:程序异常 或者 内核直接停止

硬中断:由于硬件的异常引起的

Nginx reload过程:

Nginx整体系统升级热升级就是把核心二进制文件用新的 其他用旧的

nginx_update - linux——quan - 博客园 (cnblogs.com)https://www.cnblogs.com/betterquan/p/11788600.html

Nginx二进制make  后面make install

于是后面改为make update 就把核心的/sbin/nginx二进制文档给替换成新的

到时候启动新的worker就是新的二进制文档产生的

其实后面就是有nginx -t检查以及nginx reload这个过程

修改旧的nginx二进制程序的名字

然后把新的nignx文件放过来 直接reload 然后master进程号就没变 worker进程号变了 nginx版本也变了

Nginx版本更新 如果只是更新某个小模块 就可以直接更改二进制文件 然后reload就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值