【搜索微信公众号】百万年薪运维工程师手札
引子
昨天刚说了,人生会有很多意外。古希腊的苏格拉底说过:“人不能两次踏进同一条河流。本来以为今天可以按照计划在公司加班的同时,对几个进程管理的API函数深入研究一下。结果没想到最终还是在一条河流里面反复踩踏。。。。又是忙乎了一整天。
对于一个闭源的商业操作系统,只能感叹自己的能力不足,于是乎进一步加深了我要好好学习开源Linux的决心(此处只是因为要适应这个场景,所以必须要打这段话,不然不够励志)
本周乘明天休息,得把这两周通过视屏和数据学习的进程方面的内容好好梳理一把,做一些总结,在进程这块,还有15天的时间,把几本Linux内核的书的目录再翻一下,把进程剩余的一些再整体突击学一下。
有句话说的好,“linux源码解读涉及到的代码的每个单词我都认识,但是合到一起就不认识了”,心中一直是希望能够把源码好好学一下,但是由于大学没有学过汇编和C,起点比较低,暂时也没什么好的方法在这块突破。肿么办呢?交给明天去解决吧。
今天的学习内容比较简单,大致如下,4个API函数,后续可以自己写一些C的进程来调用一下。
find_get_pid(...)
根据进程编号获取对应进程描述符里的对象信息。linux/kernel/pid.c
pid_task(...)函数功能
获取任务的任务描述符数据信息
pid_nr(...)
获取进程的全局进程号,具体源码如下:
__task_pid_nr_ns(...)
获取进程编号