旅游网站介绍怎么写,2017网站设计如何报价,做网站有哪些,网站制作方案有哪些前言#xff1a;在了解完冯诺依曼体系结构和操作系统之后#xff0c;我们进入了Linux的下一篇章Linux进程#xff0c;但在学习Linux进程之前#xff0c;一定要阅读理解上一篇内容#xff0c;理解“先描述#xff0c;再组织”才能更好的理解进程的含义。
Linux进程学习基…前言在了解完冯诺依曼体系结构和操作系统之后我们进入了Linux的下一篇章Linux进程但在学习Linux进程之前一定要阅读理解上一篇内容理解“先描述再组织”才能更好的理解进程的含义。
Linux进程学习基础 本篇主要内容 进程的概念通过系统调用获取进程标示符 Linux进程 1. 进程的概念1.1 描述进程-PCB1.2 CPU对于进程列表的处理 2. 通过系统调用获取进程标示符2.1 查看进程信息2.2 终止进程2.3 系统调用函数:getpid2.4 父进程和子进程 3. 总结 1. 进程的概念
在学习进程之前大家对进程肯定初步的了解那么今天我们来深入了解一下 基本概念 课本概念程序的一个执行实例正在执行的程序等内核观点担当分配系统资源CPU时间内存的实体。 1.1 描述进程-PCB 在上一篇中我们提到了 管理的本质不是管理个体,而是管理个体的数据 而操作系统管理进程也是如此管理的进程对应的数据 而在操作系统对进程上依然采用的是“先描述再组织”的方法 操作系统将可执行程序的各种数据加载拷贝出来,再用结构体把数据存进去由于可能同时会存在多个进程,所以操作系统使用链表或其他数据结构将它们链接在一起 而这个又操作系统产生控制进程的结构就是PCB PCB 进程信息被放在一个叫做进程控制块的数据结构中可以理解为进程属性的集合。课本上称之为PCBprocess control blockLinux操作系统下的PCB是: task_struct 1.2 CPU对于进程列表的处理
在CPU对进程列表进行处理时PCB中的数据有时不会被CPU立刻处理因此他会进入进程队列排队等待处理 操作系统内由于进程的控制十分复杂,一个PCB可能链接到多个数据结构上。 因此: 进程可执行程序 内核数据结构(PCB) 2. 通过系统调用获取进程标示符
2.1 查看进程信息
每一个进程都有自己对应的标识符当我们想查看进程的信息 指令ps ajx 这样做的话我们查看的是所有进程这里我们就要用到之前的学过的指令了。
现在我们来写一个程序来观察他的进程状态 写死循环方便我们更好观察运行程序我们再打开一个窗口搜索程序的进程 指令ps ajx | grep mytest 此时为什么会出现两个进程呢 因为在grep指令发挥作用时也会形成一个mytest文件 我们直接查看进程并不能知道每个数据表达的意思所以我们可以加上 指令ps ajx | head -1 来查看每一行的信息 指令ps ajx | head -1 ps ajx | grep 可执行程序 2.2 终止进程
在我们刚接触Linux时通常按CTRLc可以结束进程现在在学习Linux进程时还有一种方法可以杀死进程 指令kill -9 进程id 注意这里的-9是信号参数后面会提到现在直接使用即可 使用指令能直接杀死进程
以上说明我们所有运行的指令软件自己写的可执行程序都是进程 2.3 系统调用函数:getpid
每次查看进程使用如果都要使用ps查看这样的话很浪费时间且繁琐因此我们可以使用即将学习到的第一个系统调用函数 函数getpid 我们先来简单了解一下 getpid 用系统调用函数查看PID 2.4 父进程和子进程
在使用ps指令查看进程信息时,除了PID我们可以看见左边还有一个PPID当我们不断地启动结束进程时PID每一次的数据都不一样但是PPID却不会改变。而这PPID就是父进程 我们依然可以用函数来查看父进程 函数getppid 因此我们可以知道这两个函数
当我们不断地启动结束进程时PID每一次的数据都不一样但是PPID却不会改变让我们来查看一下父进程信息 如果我们直接杀死父进程bash那么我们的shell会直接挂掉 3. 总结
本篇主要学习的是进程的概念CPU如何对PCB进行处理以及初步学习如何查看父进程与子进程希望大家能理解好PCB,下篇我们将深入了解进程的创建
谢谢大家支持本篇到这里就结束了