news 2026/5/19 19:23:21

Linux系统编程(进程1)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux系统编程(进程1)

1.进程

进程是一个程序执行的过程,会去分配内存资源,cpu的资源。
PCB是一个结构体,process control block。系统用于描述正在运行的进程的相关(所有)信息。

pcb 中的内容 ,列出了一部分
PID,进程标识符
当前工作路径 chdir
umask 0002
进程打开的文件列表 文件IO中有提到
信号相关设置 处理异步io,
用户id,组id

进程的资源限制 。打开文件的个数1024 ,栈的大小8M

2.进程和程序的区别?


程序:静态
存储在硬盘中代码,数据的集合


进程:动态
程序执行的过程,包括进程的创建、调度、消亡
.c ----> a.out-----> process(pid)
1)程序是永存,进程是暂时的
2)进程有程序状态的变化,程序没有
3)进程可以并发,程序无并发
4)进程与进程会存在竞争计算机的资源
5)一个程序可以运行多次,变成多个进程一个进程可以运行一个或多个程序


虚拟内存,MMU(内存管理单元)
1.基于隔离性。在多进程中,a进程不能访问b进程的内存空间。
2.安全性(权限管理),linux也是运行在内存上的。所以需要通过权限控制,访问内核(linux系统)。不是任意随意访问内核。

进程的内存空间

进程分类:

1、交互式进程 进程运行后需要用户的输入,在给出对应的输出
2、批处理进程 shell脚本 批量执行命令
3、 守护进程 进程会自动运行,默认不需要输入,处于休眠状态。等到特定条件满足。自己开始运
行。(更新进程,杀毒软件)

作用:
并发。 在操作系统中,在一个时间段内同时运行多个任务的能力。

操作系统的进程状态切换图:

linux 的进程状态切换图

进程的调度:

因为在linux系统中,需要运行的任务(进程)有多个,每个都想运行。但是CPU,只有一个。所以就需要linux 合理安排下一时刻,那个进程运行。
常见调度算法: 时间片轮转 ,短任务优先,进程优先级。 完全公平调度算法(CFS)。
宏观并行,在一个时间段中,每个进程都在运行。

微观串行,在时间的某一刻, 只有一个进程在运行。
进程上下文切换 ,当a.out 的cpu的时间片耗尽是,就需要运行b。out。 a.out需要把自己的状态信息(pcb,硬件上一些寄存器,PC. 内存相关数据)缓存到硬盘上。当a.out把内存释放出来后,b.out就可以把自己前进缓存在硬盘的数据,读入内存。然后开始运行。

命令:
ps aux 显式所有的进程相关信息
top linux 中的任务管理器


kill 发信号
kill -9 pid 关闭指定pid的进程
killall -9 a.out 关闭多个a.out

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

如何实现零宕机流量调度?,基于Docker MCP 网关的智能负载方案

第一章:零宕机流量调度的核心挑战在现代分布式系统架构中,实现零宕机流量调度是保障服务高可用性的关键环节。系统在升级、扩容或故障转移过程中必须确保用户请求持续被正确处理,任何中断都可能导致业务损失和用户体验下降。为此,…

作者头像 李华
网站建设 2026/5/7 7:01:45

紧急修复农业预测模型漏洞:R语言变量选择三大陷阱你避开了吗?

第一章:农业产量预测中R语言变量选择的核心挑战在农业产量预测建模过程中,变量选择是决定模型性能的关键环节。R语言因其强大的统计分析能力和丰富的扩展包(如caret、glmnet、randomForest)被广泛应用于该领域,但在实际…

作者头像 李华
网站建设 2026/5/4 20:42:16

为什么你的字幕搜索总延迟?,Dify缓存过期策略的3大误配置

第一章:视频字幕检索的 Dify 缓存周期在基于 Dify 构建的智能视频处理系统中,字幕检索功能依赖于高效的缓存机制以提升响应速度和降低重复计算开销。缓存周期的设计直接影响系统的实时性与资源利用率。缓存策略的核心参数 Dify 平台通过配置缓存生存时间…

作者头像 李华
网站建设 2026/5/18 16:47:30

适配体:食品安全检测中的“分子侦察兵”,如何精准揪出隐形威胁?

当我们谈论食品安全时,有一个看不见的战场正备受关注——真菌毒素污染。这些由霉菌产生的有害物质,可能悄悄存在于谷物、坚果等日常食品中。传统检测方法虽精准,但过程繁琐、成本高,难以实现快速筛查。今天,我们要认识…

作者头像 李华
网站建设 2026/5/12 0:14:35

用idea打开第3方Jar包文件,并查看其源代码

问题 遇到了需要用idea打开jar包文件,查看源代码的场景 怎么处理 在原来的 idea打开的java项目中的目录中,添加上 该jar包,然后 重启idea就可以看到 jar包中反编译的内容了 类似下面的效果其他方法 在 IntelliJ IDEA 中查看网上下载的 JAR 包…

作者头像 李华