linux系统编程 --进程基础

1概念

1.1程序与进程

程序: 2进制文件占用磁盘空间
进程: 启动的程序;1:所有数据都在内存中 2:需要占据更多的物理资源(CPU 物理内存)3:资源分配最小单位
例如:

			如果程序是棋谱,进程就是棋士复盘;
			程序是静的,进程是动的。

1.1.2从程序到进程

内核将程序读入内存,为程序镜像分配内存空间。
内核为该进程分配进程标志符PID
内核为该进程保存PID及相应的进程状态信息

在这里插入图片描述

1.2并发 并行

No.概念状态硬件特点
1并发(concurrency)两个或者多个进程在同时存在单核进程指令同时或者交错执行。
2并行(parallellism)两个或者多个进程在同时执行多核一种特殊的并发

1.3进程控制块(PCB):保存进程控制信息

1:进程id(pid_t类型表示非负数整形)
2:进程状态
3:虚拟地址信息
4:进程要依赖一个终端
5:每一个进程中都有umask掩码

1.4进程状态

在这里插入图片描述

状态含义
1 就绪(Ready)进程已获得到除CPU以外的所有必要的资源,获得CPU立即执行
2 运行(Running)程序正在CPU上执行
3 阻塞(Blocked)等待某个事件发生而无法执行时,放弃CPU

1.5程序格式ELF

ELF(Executable and Linkable Format)文件格式,一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件

查看程序(ELF文件): readelf -S 文件名
查看进程空间大小: size 文件名
在这里插入图片描述

1.6虚拟存储器/虚拟地址空间

在这里插入图片描述

段名组成来源
代码段.text可执行文件
数据段.data bss可执行文件
堆栈段heap stack请求
变量位置
经过初始化的全局变量和静态变量.data
未经初始化的全局变量和静态变量.bss
函数内部声明的局部变量stack
const修饰的全局变量.text
const修饰的局部变量stack
字符串常量.text

1.7如何查看进程:

OS命令e.g.
1 Windowstasklisttasklist /FI “PID eq 进程PID”
2 Linuxps / pstree / top-

1.6.1ps

查看某进程
通过进程PID查看:ps -p 进程PID
通过命令行查看:ps -C 命令行

查看进程

风格命令属性说明
1 BSD风格ps auxa: 终端上所有用户的进程;u:以用户为中心显示详细信息,x:无终端进程
2 System V风格ps -efe:所有进程;f:树状显示

查看某个进程:grep (查找) 最下面是grep进程
在这里插入图片描述
在这里插入图片描述

1.6.1.1BSD风格

在这里插入图片描述

No.标识含义
1USER用户
2PID进程ID
3%CPU进程占用的CPU百分比
4%MEM占用内存的百分比
5VSZ进程虚拟大小
6RSS常驻内存(内存中页的数量)
7TTY终端ID
8STAT进程状态
9START启动进程的时间
10TIME进程消耗CPU的时间
11COMMAND命令的名称和参数

进程状态标识

No.标识含义
1D不可中断Uninterruptible(usually IO)
2R正在运行,或在队列中的进程
3S处于休眠状态
4T停止或被追踪
5Z僵尸进程
6W进入内存交换(从内核2.6开始无效)
7X死掉的进程
8<高优先级
9n低优先级
10s包含子进程
11+位于后台的进程组

PPID 父进程 PGID进程组 SID绘画ID
在这里插入图片描述

1.6.2pstree命令

以树状图的方式展现进程之间的派生关系
在这里插入图片描述

1.6.3top命令

实时显示系统中各个进程的资源占用,类似Windows任务管理器
在这里插入图片描述

Linux一切皆文件,在/proc/下也可以查看到进程。

1.8如何创建进程

No.OS命令
1Windows程序名
2Linux程序名

1.9如何杀死进程

No.OS命令
1Windowstaskkill /F /PID 进程标识/taskkill /F /IM 程序名
2Linuxkill 进程标识PID

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值