美文网首页网络通讯编程
3.2、nginx源码学习方法

3.2、nginx源码学习方法

作者: 奥斯特洛司机 | 来源:发表于2019-03-30 10:31 被阅读0次

1、啃代码,需要比较好的基础。
2、看书,看资料,逃脱不了啃代码的过程。
3、跟着老师学。用最少的力气掌握nginx最有用的东西。
架构课程前期学习两个主要任务:
(1)泛读nginx中的一些重要代码
(2)把nginx中最重要的代码提取出来作为我们自己的知识库的一部分来以备将来使用。

二:终端和进程之间的关系
pts 虚拟终端,每连一个终端,就多一个bash进程。解释用户输入的命令。

whereis bash //也可以查看进程的文件路径

终端上的开启进程:
关闭会话窗口的时候,bash会往所有同一个session里面进程发送SIGHUP信号,
再往自己发一个SIGHUP

2.4 、strace工具的使用
1)、linux下的调试分析诊断工具:
用以跟踪进程执行时进程的系统调用以及所收到的信号。

使用方法:1、启动进程
2、在另外一个窗口:sudo strace -e trace=signal -p nginx进程id
3、第三个窗口sudo strace -e trace=signal -p bash进程id
2.5、终端关闭时怎么让进程不退出。
1)代码中屏蔽SIGHUP信号,变成孤儿进程
父进程退出后交给init进程 //signal(SIGINT, SIG_IGN);
2)把进程放到跟bash不在同一个session里面
//代码中setsid()新建一个session,但是无效。因为进程组长不适合。
子进程可以实现
3)setsid命令 :setsid ./nginx
//使进程启动在一个新的session中
4)nohup(no hang up) //也是忽略SIGHUP信号,变成孤儿进程
输出重定位到nohup.out
2.6、后台运行 //终端可以干其他事情,fg命令切回前台,就可以杀掉。
./nginx & //终端断开还是会被杀掉。
所以可以混合着使用 nohup ./ngnix &

相关文章

网友评论

    本文标题:3.2、nginx源码学习方法

    本文链接:https://www.haomeiwen.com/subject/wmfcbqtx.html