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号

相关推荐
SuperW29 分钟前
Linux学习——TCP
linux·学习·tcp/ip
李艺为32 分钟前
Ubuntu下展锐刷机工具spd_dump使用说明
android·linux·git·ubuntu
S1lent9o2 小时前
CentOS stream 中部署Zabbix RPM软件包公钥验证错误
linux·centos·zabbix
美亚特直线轴承5 小时前
直线轴承在自动化机械设备中的应用
运维·人工智能·经验分享·笔记·机器人·自动化·制造
0509156 小时前
测试基础笔记第七天
linux·服务器·笔记
工具罗某人7 小时前
云效部署实现Java项目自动化部署图解
运维
李洋-蛟龙腾飞公司7 小时前
鸿蒙应用元服务开发-Account Kit未成年人模式订阅和处理用户信息变更
服务器·华为·harmonyos next
极小狐7 小时前
极狐GitLab 项目 API 的速率限制如何设置?
大数据·运维·git·elasticsearch·gitlab
靡樊7 小时前
Linux:进程间通信
linux·服务器·c++·学习
云达闲人7 小时前
系统架构设计师:计算机组成与体系结构(如CPU、存储系统、I/O系统)案例分析与简答题、详细解析与评分要点
运维·系统架构·软考·系统架构设计师