news 2026/4/18 10:55:37

Linux —— 进程概念 - 初识进程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux —— 进程概念 - 初识进程

目录

3. 进程

3.1 基本概念和基本操作

3.1.2 描述进程 - PCB

3.1.3 task_struct

3.1.4 查看进程

3.1.5 通过系统调用获取进程的标示符

3.1.6 通过系统调用创建进程-fork初识


3. 进程

3.1 基本概念和基本操作

  • 课本概念:程序的一个执行实例,正在执行的程序等
  • 内核观点:担当分配系统资源(CPU时间,内存)的实体。
  • 当前:进程 = 内核数据结构(task_struct)+ 自己的程序代码和数据

3.1.2 描述进程 - PCB

基本概念

  • 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。
  • 课本上称之为PCB(process control block),Linux 操作系统下的 PCB 是:task_struct

task_struct — PCB的一种

  • 在 Linux 中描述进程的结构体叫做 task_struct。
  • task_struct 是Linux 内核的一种数据结构类型,它会被装载到RAM(内存)里滨海且包含着进程的信息

3.1.3 task_struct

内容分类

  • 标示符:描述本进程的唯一标示符,用来区分其他进程。
  • 状态:任务状态,退出代码,退出信号等。
  • 优先级:相对于其他进程的优先级(CPU少,进程多,优先级本身就是一个数字)
  • 程序计数器:程序中即将被执行的下一条指令的地址。
  • 内存指针:包括程序代码和进程相关数据的指针,还有其他进程共享的内存块的指针
  • 上下文数据:进程程序执行时处理器的寄存器中的数据(休学的例子,要加图CPU,寄存器)。
  • I/O状态信息:包括显示的 I/O 请求,分配给进程的 I/O 设备和被进程使用的文件列表。(不是很重要)
  • 记账信息:可能包括处理器时间总和,使用的时钟数总和,时间限制,记帐号等。
  • 其他信息
  • 具体详细信息后续会介绍

组织进程

可以在内核源代码⾥找到它。所有运⾏在系统⾥的进程都以 task_struct 双链表的形式存在内核
⾥。

3.1.4 查看进程

./myprocess —— 直接会变成一个进程

每一个进程都有自己的标识符,又该如何获取呢?

学习第一个系统调用:man getpid

修改 myprocess.c 文件

make -> ./myprocess,获得该进程的标示符PID:

那么该如何查看上面的29857进程呢?

1. 进程的信息可以通过 /proc 系统文件夹查看

如:要获取PID为1的进程信息,你需要查看 /proc/1这个文件夹。

上面的数字代表的是系统当中正在运行的进程

进程的有关信息通过文件的形式表现出来:(因为Linux下一切皆文件,因此启动的进程以文件的形式呈现出来)

进程被终止( ctrl+c )了呢?

证明了:proc目录里面的所有蓝色的目录对应的是真的运行起来的进程。运行起来之后,进程pid是多少就新建对应的文件夹,将进程的属性放在文件夹中,进程没了,对应的所有信息将释放掉

再次 ./myprocess

再次ctrl + c:

总而言之,系统当中每多一个进程,proc目录里面就会每多一个以数字命名的文件夹,那么里面有什么呢?

2.大多数进程信息同样可以使用 top 和 ps 这些用户级工具来获取

3.1.5 通过系统调用获取进程的标示符

  • 进程id(PID)
  • 父进程id(PPID)

3.1.6 通过系统调用创建进程-fork初识

  • 运行 man fork 认识fork
  • fork 有两个返回值
  • 父子进程代码共享,数据各自开辟空间,私有一份(采用写时拷贝)

  • fork 之后通常要用 if 进行交流

注意:

  • fork 为什么会有两个返回值?
  • 两个返回值各自给父子如何返回?
  • 至于:一个变量怎么能让 if 和 else if 同时成立这个问题,需要在后面才能解释清楚。

3.1.7 如何创建多进程呢?--- 采用循环的方式来完成

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 10:31:18

大数据领域数据湖的成本控制与优化

大数据领域数据湖的成本控制与优化:策略与实践 关键词:大数据、数据湖、成本控制、优化策略、数据治理、存储优化、计算资源管理 摘要:本文深入探讨大数据领域数据湖中成本控制与优化的关键方面。从数据湖概念的发展背景出发,阐…

作者头像 李华
网站建设 2026/4/18 8:48:14

大数据领域分布式存储的多租户支持方案

大数据领域分布式存储的多租户支持方案 关键词:分布式存储、多租户架构、资源隔离、性能优化、成本管理、QoS保障、容器化技术 摘要:本文深入探讨大数据领域分布式存储系统中多租户支持的核心技术与实现方案。通过分析多租户架构的技术挑战,提出包含资源隔离、性能保障、安全…

作者头像 李华
网站建设 2026/4/18 7:05:33

深入了解大数据领域Hive的HQL语言特性

深入了解大数据领域Hive的HQL语言特性 关键词:Hive、HQL、大数据查询、分区表、元数据、MapReduce、UDF 摘要:本文将带你像拆积木一样拆解大数据领域的“查询利器”HiveQL(简称HQL)。我们会从HQL的诞生背景讲起,用“图…

作者头像 李华
网站建设 2026/4/17 8:58:28

音视频学习(八十六):宏块

什么是宏块(Macroblock)? 在传统的视频编码标准(如 MPEG-2 或 H.264)中,宏块是进行预测、变换、量化和编码的基本单元。 基本组成: 一个标准的宏块通常涵盖 16x16 个像素的亮度(Luma…

作者头像 李华
网站建设 2026/4/17 17:44:46

深度测评10个AI论文平台,研究生高效写作必备!

深度测评10个AI论文平台,研究生高效写作必备! AI 工具如何重塑研究生的学术写作之路 在当今科研与学术写作日益数字化的背景下,AI 工具正逐步成为研究生们不可或缺的得力助手。从初稿生成到内容优化,再到降重处理,这些…

作者头像 李华