Linux 知识点归纳(一) 进程概念 以及 查看进程的方法

28 篇文章 0 订阅
9 篇文章 0 订阅

进程概念

   什么叫做进程?我们在了解这个概念之前先要明白计算机CPU的工作原理,我们的程序在执行时,先将程序加载到内存中,之后CPU进行分时处理,那么什么又是分时处理呢,如果只有一个内核的情况下,但有多个程序需要执行该如何操作呢?是等一个程序执行完在进行下一个吗?当然不是,如果这样的话,当一个程序出现死循环的话让下一个程序情何以堪?所以计算机中采取轮循的方式执行程序,即分为不同的时间片进行程序的执行,先执行第一个程序,执行完一个时间段后保存当前程序的信息进行下一个程序,在下一个时间片在回过头来执行上一个程序,反复横跳切换,这个切换的时间是非常短的,凭肉眼法发现的。我们将这个程序当前执行的相关信息全部保存在PCB(process control block)中。每一个程序都有一个专属的PCB,pcb即程序控制块,包含着程序进行的一些描述信息(包括标示符、优先级、内存指针、上下文数据、程序计数器、标识符、状态等等)。

  因此对于用户而言,进程就是运行中的程序;而对于操作系统而言,进程就是一个程序运行的描述,通过这个描述,操作系统可以找到当前程序的状态,以此调度处理。

进程中相关操作

进程的创建

  使用fork(),可创建当前进程下的子进程,父子进程代码共享,即子进程复制了当前进程pcb的大部分内容,可以继续执行当前进程的后续内容。
返回值
  fork()具有两个返回值,对于子进程,返回0,对于父进程来说返回子进程的pid,因此一般通过if判定来区分父子进程。

举例

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

进程的分类

即进程在执行中所处的不同的状态。
运行态(R)

正在运行或者轮转到时间片能够执行的运行统称为运行态

可中断休眠态(S)

可以被中断的休眠状态,满足唤醒条件或者休眠被中断则进入运行态

不可中断休眠态(D)

不能被中断的休眠状态

停止态(T)

程序停止运行,依旧会被调度,但是什么也不做

僵尸态(Z)

进程已经退出不在调度了,但是其公共资源还没有被释放,等待处理的一种状态,其中典型的为僵尸进程。

查看进程

  1. 通过/proc系统文件进行查看

ls /proc/

在这里插入图片描述

  1. 通过系统调用

geipid() //获取当前进程id
getppid() //获取父进程id

在这里插入图片描述

在这里插入图片描述

  1. 通过ps 指令集进行查看

ps aux 观察系统所有的进程
ps -lA 详细的列出所有的系统进程
ps +参数选项 根据某些规则输出进程信息
【参数选项】

  • -A :显示所有进程
  • -a:不与 terminal 有关的所有进程;
  • -u:有效使用者 相关的进程
  • x :通常与 a 一起使用,列出较完整信息
  • -l: 详细列出PID 的信息
  • -j :以工作表的方式输出
  • -f :输出一个更加完整的进程查看

在这里插入图片描述
参数含义

USER:该进程的归属者名字
PID该进程的进程标识符
%CUP:该进程所占用的CPU资源
%MEM:该进程所占用的物理内存
VSZ:该进程所占用的虚拟内存大小
RSS:该进程占用的固定内存量
TTY:表示该进程与终端的关系,若不占用当前终端则显示 ?,若为 pts/0 等,则表示该进程是由网络连接进主机的进程。
STAT:该进程的状态,即上文所说的进程的分类
START:该进程开始的时间
TIME:该进程实际使用CPU的时间
COMMAND:该进程的实际指令是什么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值