文章

nginx研究记录(二)

0.前言

上次学习nginx已经是一个月前了,虽然这个月断断续续在学,但效果其实并不好,每次学完都不知道前面学的是什么了。

今天自己又硬着头皮继续学,即使他是Linux和我工作无关,但这毕竟是半衰期长的事情,要多做一些。

为了避免学习的枯燥,我这次并没有完全敲代码,只是大概过了一遍流程,让自己有个印象即可

1.终端与bash进程

ps是进程查看命令,grep是文本搜索工具,这条命令表示查找包含bash字样的进程

1
ps -ef |grep bash

image-20240221211721619

进程ID是1182就是bash进程,也就是Xshell连接到Ubuntu Linux虚拟机产生的进程

新增加一个Xshell与虚拟机的连接,发现bash也会多一个

image-20240221211954673

pts是虚拟终端

每个虚拟终端连到虚拟机上,都会打开一个bash进程(也叫shell—壳)

这个输入各种命令的黑窗口就是bash,用于解释用户输入的命令

在Xshell中输入一条命令并且按下回车键后,命令就会被bash进程解释并执行(bash就是shell,也就是命令行解释器是个可执行程序)

2.信号

根据我的大概理解,是这样的,信号在Linux中大部分以SIG开头,其实是个数字,通过搜索Linux中文件内容时,你会发现它的宏定义

信号可以自己发给自己,也可以由操作系统内核来发送

自己发给自己(进程发给进程),也就是热更新,master发一个信号给自己,但其实收到信号的master其实是旧的master,根据信号再做一些操作。

操作系统内核来发送,比如键盘的命令,Ctrl+C中断信号,内存访问异常等

3.Kill

大部分想到Kill第一印象无非是杀死进程

但其实Kill并不都是杀死,他只不过也是给进程发送了一个信号,操作系统会根据信号来执行动作,大部分时候动作都是终止收到信号的这个进程

Kill其实能给进程发送很多种信号的

另外进程的状态,信号处理的相关动作就不一一细讲了,避免成为摘抄书籍

本文由作者按照 CC BY 4.0 进行授权