news 2026/6/9 14:59:21

【把Linux“聊”明白】进程的概念与状态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【把Linux“聊”明白】进程的概念与状态

一、基本概念与操作

1-1 基本概念

先来看课本与内核对于进程的解释:

课本概念:程序的一个执行实例,正在执行的程序等; 内核观点:担当分配系统资源(CPU时间,内存)的实体。

听起来都太抽象,在这里,我们可以理解为进程 = 内核数据结构对象 + 自己的代码和数据,如下图所示:

在这里插入图片描述

可以看到,每个进程都对应着其内核数据结构对象和自己的代码和数据,我们可以把其内核数据结构用类似链表的结构连接起来,那么对于进程的管理,就变成对链表的增删查改了。

1-2 PCB

内核数据结构我们又称为PCB (Process Control Block),即进程控制块。可以理解为进程属性的集合。简单说,它就是描述进程的结构体。 我们通过PCB,就可以直接或者间接的找到进程的所有属性。 在Linux中,具体的PCB是task_struct,PCB是课本的说法。 task_struct是Linux内核的⼀种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。

1-3 task_struct

既然task_struct是描述进程的结构体,那么它里面详细有什么呢?简单看一下:

标示符:描述本进程的唯一标示符,用来区别其他进程。 状态:任务状态,退出代码,退出信号等。 优先级:相对于其他进程的优先级。 程序计数器:程序中即将被执行的下⼀条指令的地址。 内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。 上下文数据:进程执行时处理器的寄存器中的数据。 I∕O状态信息:包括显示的I/O请求,分配给进程的I∕O设备和被进程使用的⽂文件列表。 记账信息:可能包括处理器时间总和,使用的时钟数总和,时间限制,记账号等。 其他信息……

1-4 查看进程

在这里,我们要知道,我们历史上执行的所有指令(内建命令除外)、工具、自己的程序,运行起来,都是进程! 很好理解,现在我们来了解一下如何查看进程呢?

  1. 通过/proc系统文件夹查看

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

在这里插入图片描述

  1. 使用top和ps这些用户级工具 我们可以先建一个一直循环的程序来进行测试:

代码语言:javascript

AI代码解释

#include <stdio.h> #include <unistd.h> int main() { while (1) { printf("hello world\n"); sleep(1); } return 0; }

在这里插入图片描述

代码语言:javascript

AI代码解释

ps ajx | head -1 && ps ajx | grep myproc | grep -v grep

ps ajx:使用特定的格式选项显示进程信息 其它命令组合,就是帮助我们既能清晰看到表头信息,又能准确找到目标进程,排除干扰项所用。

补充:

在这里插入图片描述

1-5 通过系统调用获取进程标示符

在这里插入图片描述

pidppid

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

使用一下:

代码语言:javascript

AI代码解释

#include <stdio.h> #include <unistd.h> int main() { printf("pid:%d\n",getpid()); printf("ppid:%d\n",getppid()); return 0; }

输出:

在这里插入图片描述

我们可以对ppid进行搜索

在这里插入图片描述

哦,bash? 说明:bash(命令行解释器)也是一个进程。 我们要知道,OS会为每一个登录的用户,分配一个bash

补充:exe和cwd它们是进程对应的两个属性,我们可以在/proc下查看进程对应的属性:

在这里插入图片描述

执行命令后可以看到:

在这里插入图片描述

解释:

exe :指向启动该进程的可执行文件的完整路径。它告诉你这个进程是由哪个程序文件创建的。 cwd :Current Working Directory 的缩写,代表进程的当前工作目录。像我们在C语言中的fopen函数,以写的形式打开文件…,如果我们没有指定路径的话,就会默认在当前路径,即根据cwd来确定路径。

www.dongchedi.com/article/7595302803858293310
www.dongchedi.com/article/7595302533728551486
www.dongchedi.com/article/7595303526705152574
www.dongchedi.com/article/7595302533728911934
www.dongchedi.com/article/7595302732916277822
www.dongchedi.com/article/7595300345145164313
www.dongchedi.com/article/7595287730565710361
www.dongchedi.com/article/7595287469617529368
www.dongchedi.com/article/7595289256520663576
www.dongchedi.com/article/7595287092394000920
www.dongchedi.com/article/7595286612611957273
www.dongchedi.com/article/7595285133738410521
www.dongchedi.com/article/7595285905729487384
www.dongchedi.com/article/7595287514580435481
www.dongchedi.com/article/7595285072006382105
www.dongchedi.com/article/7595285719334502936
www.dongchedi.com/article/7595285631619007000
www.dongchedi.com/article/7595277509785453081
www.dongchedi.com/article/7595276630432760345
www.dongchedi.com/article/7595275735409967640
www.dongchedi.com/article/7595277089067549246
www.dongchedi.com/article/7595276413155295769
www.dongchedi.com/article/7595276373905195544
www.dongchedi.com/article/7595274144955499033
www.dongchedi.com/article/7595274423667048984
www.dongchedi.com/article/7595275907217195545
www.dongchedi.com/article/7595274913787953689
www.dongchedi.com/article/7595274806057337368
www.dongchedi.com/article/7595274833727406617
www.dongchedi.com/article/7595255011878208062
www.dongchedi.com/article/7595255232834159166
www.dongchedi.com/article/7595244636982379033
www.dongchedi.com/article/7595246619336000062
www.dongchedi.com/article/7595245102663352894
www.dongchedi.com/article/7595246113737982526
www.dongchedi.com/article/7595238963515146814
www.dongchedi.com/article/7595238605032292888
www.dongchedi.com/article/7595237840809198105
www.dongchedi.com/article/7595237829975212569
www.dongchedi.com/article/7595237024668877336
www.dongchedi.com/article/7594914712018600510
www.dongchedi.com/article/7594913283375907352
www.dongchedi.com/article/7594914016129106456
www.dongchedi.com/article/7594914424213766718
www.dongchedi.com/article/7594913083894891033
www.dongchedi.com/article/7594913119710069310
www.dongchedi.com/article/7594912459706696254
www.dongchedi.com/article/7594911633613390360
www.dongchedi.com/article/7594909036307595800
www.dongchedi.com/article/7594910057444786750
www.dongchedi.com/article/7594909893274927641
www.dongchedi.com/article/7594909974816588350
www.dongchedi.com/article/7594909035217404441
www.dongchedi.com/article/7594908551181615678
www.dongchedi.com/article/7594906883010855486
www.dongchedi.com/article/7594907513641058878
www.dongchedi.com/article/7594905549272285720
www.dongchedi.com/article/7594906861996884505
www.dongchedi.com/article/7594906134906421785
www.dongchedi.com/article/7594905869373096472
www.dongchedi.com/article/7594904114086560281
www.dongchedi.com/article/7594903301414650392
www.dongchedi.com/article/7594901235942228542
www.dongchedi.com/article/7594901805579452953
www.dongchedi.com/article/7594900315275657752
www.dongchedi.com/article/7594899458794799641
www.dongchedi.com/article/7594900266315645465
www.dongchedi.com/article/7594900151853236798
www.dongchedi.com/article/7594898846111580697
www.dongchedi.com/article/7594899021756776984

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

DeepSeek-R1-Distill-Qwen-1.5B实战:智能技术文档翻译工具

DeepSeek-R1-Distill-Qwen-1.5B实战&#xff1a;智能技术文档翻译工具 1. 引言 1.1 业务场景描述 在现代软件开发和跨国技术协作中&#xff0c;技术文档的多语言支持已成为团队高效沟通的关键环节。无论是开源项目的国际化、企业内部知识库建设&#xff0c;还是AI模型说明文…

作者头像 李华
网站建设 2026/6/8 16:31:54

LoRA训练成本计算器:输入参数自动算价格

LoRA训练成本计算器&#xff1a;输入参数自动算价格 你是不是也遇到过这种情况&#xff1a;想训练一个自己的LoRA模型&#xff0c;画风、角色都能自定义&#xff0c;听起来很酷。但一想到要花钱买GPU、租服务器、跑训练任务&#xff0c;心里就开始打鼓——这到底得花多少钱&am…

作者头像 李华
网站建设 2026/6/5 14:16:48

告别繁琐配置!用Qwen3-0.6B镜像秒搭AI问答系统

告别繁琐配置&#xff01;用Qwen3-0.6B镜像秒搭AI问答系统 随着大模型技术的快速演进&#xff0c;如何高效部署一个功能完整、响应迅速的AI问答系统成为开发者关注的核心问题。传统部署方式往往涉及复杂的环境配置、依赖管理与接口调试&#xff0c;耗时且易出错。而借助Qwen3-…

作者头像 李华
网站建设 2026/6/5 14:17:37

PDF-Extract-Kit增量处理:TB级文档云端分批解析,不爆内存

PDF-Extract-Kit增量处理&#xff1a;TB级文档云端分批解析&#xff0c;不爆内存 你有没有遇到过这样的情况&#xff1a;手头有一堆几十年前的老报纸PDF合集&#xff0c;总大小动辄几十GB甚至上TB&#xff0c;想做数字化归档或内容提取&#xff0c;结果刚打开文件电脑就卡死&a…

作者头像 李华
网站建设 2026/6/5 16:19:29

ProGuard Maven插件终极指南:构建更安全、更高效的Java应用

ProGuard Maven插件终极指南&#xff1a;构建更安全、更高效的Java应用 【免费下载链接】proguard-maven-plugin ProGuard Maven plugin that supports modularised ProGuard packages 项目地址: https://gitcode.com/gh_mirrors/pr/proguard-maven-plugin ProGuard Mav…

作者头像 李华
网站建设 2026/6/5 20:58:24

当SaaS从效率工具变成安全隐患:企业为什么需要私有化数字底座

过去五年&#xff0c;中国企业的SaaS采用速度呈指数级增长。从OA到CRM&#xff0c;从HR系统到协同办公&#xff0c;几乎每家企业都在同时使用十几甚至几十个SaaS服务。部门越多&#xff0c;工具越多&#xff0c;表面上效率似乎越来越高。 但一个悖论正在浮现&#xff1a;企业越…

作者头像 李华