1.什么是进程

进程:正在执行的程序,需要消耗内存和CPU

进程和程序的区别:

1. 程序是一组数据指令集合,存储在硬盘空间,是静态的;

2. 进程存储在内存空间,执行过程需要CPU参与(内存+CPU);

3. 进程具备动态的生命周期,从启动到消亡。

4. 程序运行起来产生一个进程;也可产生多个进程;

5. 在一个进程中也可以执行多个程序。

2.进程的创建

./a.out ----->启动进程

进程在被创建的时候,操作系统会为该进程分配0-4G的虚拟内存空间。

进程是操作系统资源分配的最小单位。

3.进程的调度

CPU调度进程:

        宏观并行,微观串行(并发)

        并行:多个任务同时执行

CPU调度算法:

1. 时间片轮询算法

2. 先来先服务,后来后服务算法

3. 高优先级优先执行算法

4. 短作业优先算法

4.进程的状态

操作系统进程状态三态图:

Linux操作系统进程状态:

1.运行态(用户运行态、内核运行态) R

        正在执行,且被CPU任务调度所执行的进程

2.就绪态 R

        正在执行,没有CPU任务调度执行的进程(只缺少cpu

3.可唤醒等待态 S

        也称为睡眠态,阻塞等待资源的进程

4.不可唤醒等待态 D

        不想被CPU任务调度所打断的进程任务可以设置为不可唤醒等待态

5.暂停态 T

        被暂停执行的进程

6.僵尸态 Z

        进程执行结束,空间没有被回收

7.结束态 X

        进程执行结束,空间被回收

5.进程的消亡

1. 进程退出

2. 进程回收

6.进程相关命令

1. ps -aux

 查看操作系统所有进程的相关参数:PID(进程ID号)、创建者、状态、CPU占有率、内存占有率

 ps -aux | grep a.out

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

 grep :字符串查找

2. ps -ef

 查看操作系统所有进程的相关参数:PIDPPID

 父进程:创建新进程的进程是该新进程的父进程

 子进程:创建出来的新进程是子进程

 PID : Process ID 进程ID

 PPID:父进程ID

3. top

 动态查看进程状态及CPU占有率、内存占有率

4. pstree

 查看进程间的创建关系(族谱图)

 pstree -sp 进程ID

 查看指定ID的进程的创建关系

5. kill

 kill -信号名称/信号ID PID

 给PID对应的进程发送一个信号

 kill -l 查看系统定义出来的信号

 kill -9 PID :结束一个进程

 S+ : 处于可中断睡眠状态的前台进程

 S: 处于可中断睡眠状态的后台进程

 T: 处于暂停态的后台进程

6. fg 后台进程编号

 将后台进程调到前台

 jobs :查看当前后台进程编号

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐