当前位置: 首页 > news >正文

【Linux进程一】进程的概念

【Linux进程一】进程的概念

  • 1.认识PCB(系统如何管理进程?)
  • 2.进程队列
  • 3.进程标识符pid
  • 4.终止进程
  • 5.自动获取pid
  • 6.父进程

1.认识PCB(系统如何管理进程?)

冯诺依曼体系中讲到,管理的本质是管理数据,要先描述再组织

在内存中,系统如何管理进程呢?

  • 先描述:创建一个结构体,将进程的数据储存进去
struct data
{
	//id
	//代码地址
	//状态
	//优先级
	struct data next*;
}

这样的一个结构体叫做PCB(进程控制块)
PCB是这样的结构体的总称,在Linux系统下,PCB具体叫做struct task_struct

  • 再组织:用链表等数据结构将结构体链接起来

系统对进程的管理就变成了对链表的增删查改

2.进程队列

当进程在链表中时,会等待CPU寻找PCB处理,而CPU不能同时处理多个进程,因此需要进程排队,这就是进程队列

请添加图片描述

在内存中,一个PCB进程控制块可同时位于多个数据结构中
比如PCB既在管理PCB的链表上,又在进程队列中

3.进程标识符pid

为了观察一个进程,我们先写一个死循环

 #include<stdio.h>  
 #include<unistd.h>  
 
 int main()  
 {
     while(1)
     {
         printf("我是一个进程\n");
         sleep(1);                                                                                                                                     
     }                                       
     return 0;                           
 }

再将此会话打卡第二个窗口,登陆后输入

ps ajx | head -1 && ps sjx | grep mybin

便可观察到进程的pid了(左边窗口会执行死循环一直打印,右窗口观察)
在这里插入图片描述

可以看到这个死循环mybin的pid是735589
第二个红色mybin是grep指令形成的mybin文件

4.终止进程

平时我们常用ctrl + c来终止进程,这只能在运行程序的地方使用,并且只能在前台结束进程,对后台进程无效
因此我们可以用进程pid直接杀掉进程:kill -9 pid(将pid替换为进程的pid即可)

5.自动获取pid

写代码时,想要运行的程序自动获取自己的pid,就不能用ps指令了
c语言中有一个函数是getpid(),可以获取本身进程的pid

在这里插入图片描述

在这里插入图片描述

6.父进程

当使用ps指令查看进程的pid时,我们还可以在首列看到一个ppid,这就是父进程
在这里插入图片描述
在程序中想查看本身的父进程ppid,可使用函数getppid()

将在下章详细讲述父子进程的关系

相关文章:

  • CUDA专题1:CUDA介绍
  • Docker启动ES容器打包本地镜像
  • 基于RISC-V内核完全自主可控国产化MCU芯片
  • Shell脚本和Bat脚本区别
  • 我的世界地下城DLC开发的第二天
  • 第9章:LangChain结构化输出-示例2(数字提取服务)
  • 公开整理-最新中国城市统计NJExcel+PDF版本(1985-2024年)
  • B. Skibidus and Ohio
  • DeepSheek 本地部署
  • Service Worker 实现离线应用思路
  • 简识Kafka集群与RocketMQ集群的核心区别
  • 网络安全研究
  • 在运维工作中,磁盘文件满了,怎么办?
  • 綫性與非綫性泛函分析與應用_2.賦范向量空間-母本
  • Java——抽象类
  • 快速排序与归并排序模板
  • 深入解析DeepSeek智慧城市应用中的交通流量预测API接口
  • 本地部署deepseek-r1 ollama+anythingllm
  • `pip freeze > requirements.txt` 命令
  • 数据治理与管理
  • 专业做网站公司排名/大连网站排名推广
  • 网站开发方面的岗位/中国万网官网
  • 替别人做设计的网站/企业网站建设的一般要素
  • 三好街做网站的/php开源建站系统
  • 朋友圈海报用什么网站做的/百度极速版免费下载
  • 大气宽屏企业网站源码/新闻发布的网站