在深入研究进程管理的实际应用之前,了解 Linux 进程是什么以及它们如何工作至关重要。当我们探索细节时,这个主题可能会显得复杂,如果需要,请随时稍后回顾本课。
什么是 Linux 进程
进程是正在执行的程序。更准确地说,它是正在运行的程序的实例,系统已为其分配了内存、CPU 时间和 I/O 等资源。例如,如果您打开三个终端窗口,在其中两个窗口中运行不带参数的 cat 命令(它将等待标准输入,保持进程处于活动状态),然后使用第三个窗口运行 ps aux | grep cat,您将看到两个不同的 cat 进程。每个都是同一程序的独立实例,具有自己独特的进程 ID 和资源分配。
内核在进程管理中的作用
Linux 内核负责所有进程管理。当您执行程序时,内核会将程序的代码加载到内存中,分配必要的系统资源,并开始将其跟踪为一个进程。内核为每个进程维护详细信息,包括:
- 进程的状态
- 进程正在使用和接收的资源
- 进程所有者
- 信号处理(稍后会介绍更多内容)
- 以及基本上所有其他信息
所有活动进程都在争夺系统资源。内核充当调度程序,确保每个进程根据其优先级和需求获得公平的资源份额。当进程完成其任务或被终止时,内核会回收它正在使用的资源,使其可供其他进程使用。