Linux进程的层次关系
这篇讲的是Linux系统从开机到用户登录这一整个过程中,进程是如何像一棵树一样被“种”下并生长起来的。文章从LILO加载内核开始,清晰地梳理了PID为0的内核进程如何初始化环境,并创建出PID为1的init进程——这个“老祖宗”进程随后拉起了kflushd等一系列内核守护进程。 接下来,init进程又在每个终端上派生出getty进程来等待登录。当用户敲下回车,getty会“生”出login进程,验证身份通过后,login又“生”出最终的登录shell。通过这个层层派生的关系,我们能看到从系统核心到用户交互界面的完整脉络。 文章最后还提到了实用的观察工具:`pstree`命令能直观地画出当前的进程树,帮你一眼看清父子关系。而`ulimit`或`limit`命令则能告诉你系统对进程数量的限制。作者通过梳理这个从内核到shell的完整诞生链条,让我们对“Linux一切皆进程”的理念有了更立体的认识。理解了这棵树,再去排查那些莫名其妙的僵尸进程或资源耗尽问题时,思路就会清晰很多。