Linux应用软件编程-多任务处理(进程)

多任务:让系统具备同时处理多个事件的能力。让系统具备并发性能。方法:进程和线程。这里先讲进程。

进程(process):正在执行的程序,执行过程中需要消耗内存和CPU。

进程的创建:操作系统在进程创建时,会为每个进程分配4G的虚拟内存空间。

进程的调度:宏观并行,微观串行

进程的状态:第一张是简化版的进程状态助于理解,第二张是Linux的进程状态

进程的消亡:进程的退出 -》进程空间的回收

查看进程的命令:

ps -aux:查看进程的相关信息

ps -aux | grep ./a.out:

| : 管道:将前面结果的输出作为后面的输入

grep : 查找

ps -ef:查看进程的信息(父进程)

pstree:查看进程间的关系

pstree -p:查看进程间的关系(包含进程id号)

pstree -sp 进程ID:查看指定进程的族谱关系

top:查看进程信息,CPU占有率,MEM占有率

kill:给进程发送信号;kill -信号num 进程ID: 给指定进程发送一个信号

创建进程:

pid_t pid fork();子进程拷贝父进程0-3G的虚拟内存空间,PCB块,进程ID号不会拷贝

功能:创建一个新的进程

返回值:>0 : 父进程,返回值是子进程id号;==0:子进程;-1 : 出错

这里放一张图帮助理解:

getpid():用来获取当前进程的id号

相关推荐
大树8813 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠13 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质13 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush413 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行52013 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz13 小时前
Maven依赖冲突
java·服务器·maven
Inhand陈工14 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智14 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩15 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_15 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化