Unix 系统进程管理全解析
1. 进程基础
在 Unix 系统中,进程是仅次于文件的最基本抽象概念。进程作为正在执行的目标代码,是活跃且运行着的程序,它不仅仅是汇编语言,还包含数据、资源、状态和一个虚拟化的计算机。
1.1 进程 ID(PID)
每个进程都由一个唯一的标识符——进程 ID(PID)来表示。PID 在任何单一时刻都保证是唯一的,但不保证在不同时刻不会有不同进程使用相同的 PID。不过,大多数代码假定内核不会轻易重新发布进程标识符,这种假设是比较安全的。
- 空闲进程(当没有其他可运行进程时,内核“运行”的进程)的 PID 为 0。
- 系统启动后,内核执行的第一个进程是 init 进程,其 PID 为 1。在 Linux 中,init 进程通常是 init 程序。
如果用户没有通过 init 内核命令行参数明确告诉内核要运行的进程,内核会自行识别合适的 init 进程,它会按以下顺序尝试四个可执行文件:
1. /sbin/init:init 进程首选且最可能的位置。
2. /etc/init:init 进程另一个可能的位置。
3. /bin/init:init 进程的一个可能位置。
4. /bin/sh:Bourne shell 的位置,如果内核找不到 init 进程,会尝试运行它。
第一个存在的进程将作为 init 进程执行。如果所有四个进程都无法执行,Linux 内核将使系统崩溃并停止运行。init 进程接管后,会处理剩余的启动过程,通常包括初始化系统、启动各种服务和启动登录程序。
Unix进程管理核心解析
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



