Linux 进程管理笔记
✅ 进程基础
🔹定义:进程是正在执行的程序实例,是操作系统资源分配的基本单位。
🔹进程控制块(PCB):操作系统用来管理进程的核心数据结构,包含进程状态、程序计数器、寄存器、内存管理信息、调度信息等。
🔹进程状态:
就绪(Ready):等待 CPU 分配时间片。
运行(Running):正在执行。
阻塞(Blocked):等待某事件(如 I/O)完成。
终止(Terminated):执行完成或被终止。
✅ 进程生命周期
🔹创建:通过系统调用(如 fork())创建新进程。
1 | |
🔹执行:进程被调度执行。
🔹终止:通过 exit()、_exit() 或父进程调用 wait() 等方式终止。
1 | |
🔹清理:父进程回收子进程资源,防止僵尸进程。
✅ 进程间通信(IPC)
🔹管道(Pipe):用于父子进程间的单向数据传输。
🔹命名管道(FIFO):用于无亲缘关系进程间的单向数据传输。
🔹消息队列(Message Queue):允许进程间以消息的形式交换数据。
🔹共享内存(Shared Memory):多个进程共享一块内存区域,效率高。
🔹信号量(Semaphore):用于进程间同步与互斥控制。
🔹信号(Signal):用于进程间的异步通知机制。
✅ 进程间通信(IPC)
🔹进程组(Process Group):
一组相关进程,共享同一进程组 ID(PGID)。
🔹会话(Session):
由一个或多个进程组组成,包含一个控制终端。
🔹控制终端(Control Terminal):
用于与会话中的前台进程组进行交互的终端。
🔹前台进程组:
当前会话中正在控制终端上运行的进程组。
🔹后台进程:
不与控制终端交互的进程。
✅ 其他重要概念
🔹僵尸进程(Zombie Process):
子进程已终止,但父进程未调用 wait(),导致其资源未被回收。
🔹孤儿进程(Orphan Process):
父进程已终止,子进程被 init 进程收养。
🔹进程优先级(Priority):
影响进程调度的因素,通常由操作系统根据进程类型和状态动态调整。
Linux 进程管理笔记
https://chrisy0618.github.io/2025/04/19/process/