1、基本概念:

  • 进程:是程序动态执行的过程,包括创建、调度、消亡
  • 程序:存放在外存中一段数据的集合
  • 虚拟地址:进程使用的逻辑地址,有操作系统管理,不直接对应物理内存
  • 物理地址:实际内存的硬件地址
  • MMU(内存映射单元):将物理地址映射到虚拟地址

2、进程空间分布

  • 每个进程运行之后,操作系统会为其开辟0 ~ 4 G的虚拟内存空间
  • 进程空间 = 用户空间 + 内核空间
  • 用户空间:文本段(文本去)+数据段(数据区)+系统数据段(堆栈)
    • 文本段:存放代码和指令
    • 数据段:存放字符串常量、全局变量与静态变量
    • 系统数据段:堆(malloc生擒空间),栈(函数运行与局部变量空间)

3、多个进程存储与调度

  1.多个进程的存储
  • 多个进程在操作系统中存储时,空间是独立的(物理地址独立)
  • 多个进程在操作系统中共用一个虚拟内存空间(虚拟地址是共享的)
  2.多个进程的调度

        宏观并行,微观串行(CPU 在多个任务中高速切换保障多任务执行)

4、进程相关 Linux 命令

  1.进程查看指令  

        top

功能:

        根据 CPU 占用率和内存占用率查看当前内存的信息

PID:

        进程 ID 号     

USER:

        创建者     

PR  NI:

        优先级    

VIRT    RES    SHR S :

        资源占用

%CPU %MEM:CPU:

        和内存占用率     

TIME+:

        运行时长

COMMAND :

        进程命令

        ps -ef

功能:

        查看该时刻的所有进程信息(强调父子关系和完整的进程信息)

UID:

        创建进程的用户        

PID:

        进程的ID号  

PPID:

        父进程的ID号  

C STIME TTY:

        进程依赖的终端        

ps -ef | grep 进程名 查找与进程名对应的进程信息

        ps -aux

        查看该时刻所有的进程信息(强调资源占用和进程的状态)

  2.后台执行进程任务
指令功能
进程名 &将进程转入后台运行
jobs查看终端下所有后台执行任务
fg PID编号将后台执行的任务放到前台执行
  3.优先级调整指令

        nice/renice

示例:nice -n 优先级编号 进程名    

           renice -n 优先级编号 进程PID

功能:

         改变进程的优先级

优先级范围:

         -20 - 20 数字越小优先级越高

4.进程终止指令

        kill/killall

示例:kill -编号 进程PID    

           killall -编号 进程名

功能:杀死进程任务

例:kill -9 PID

5、进程的状态

进程状态标识含义
就绪态/运行态R进程位于CPU任务调度的队列中
可唤醒等待态S等待某个资源的到来,资源到来后被唤醒加入调度队列 等待过程中可以被打断
不可唤醒等待态D等待某个资源的到来,资源到来后被唤醒加入调度队列 等待过程中不可以被打断
停止态T用户人为操作让进程等待
僵尸态Z进程代码运行结束,空间尚未回收
结束态X进程代码结束,空间被回收

6、进程相关函数接口

  1.fork(子进程创建接口)

  • 子进程拷贝父进程的文本段、数据段、系统数据段
  • 父进程与子进程的 PID 号不同
  • 若在子进程结束前父进程结束,子进程会被 init 领养,子进程的父进程 PID 号改为1

原型:

        pid_t fork(void);

功能:

        创建一个新的进程,新的进程称为子进程,调用fork的进程称为父进程

返回值:

        父进程中返回子进程的PID

        子进程中返回0

        出错返回-1

2.获取 PID 号与 父进程 PID

        getpid和getppid

原型:

        pid_t getpid(void); 、

功能:

        获得调用函数进程的PID号

原型:

        pid_t getppid(void);

功能:

获得调用函数进程的父进程的PID号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/918741.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918741.shtml
英文地址,请注明出处:http://en.pswp.cn/news/918741.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源工具】基于硬件指纹的“一机一码”软件授权系统全实现(附完整源码)

🚨 紧急预警!你的软件正在被白嫖?这套Python软件加密授权方案让破解者当场崩溃 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自每一个灵感闪现的夜晚。愿以开源之火,点亮前行之路。 🐋 希望大家多多支持…

机器学习算法篇(八)-------svm支持向量机

目录 ​​1. SVM 的核心原理(必须掌握)​​ ​​2. Python 中的实践重点​​ ​​(1) Scikit-learn 的 SVM 实现​​ ​​(2) 数据预处理​​ ​​(3) 模型评估与调优​​ ​​3. 学习侧重点优先级​​ ​​4. 经典案例实践方向​​ ​​5. 学习…

发票查验接口接收参数说明-PHP语言集成-财务管理

发票验真服务接口可实时联网核验发票真伪,查验一致时返回全票面信息。其支持核验增值税发票管理系统开具发票的真伪,且能进行发票批量查验,当日开具的发票当日即可查验。同时,结合发票识别接口可实现自动识别发票信息核验&#xf…

Uniapp物联网平台登录与温湿度监测系统

下面是一个完整的Uniapp物联网平台实现,包含登录功能和温湿度监测系统。这个解决方案采用现代化UI设计,模拟了物联网平台的核心功能。文章末尾提供源码下载。 系统功能说明 这个Uniapp物联网平台登录与温湿度监测系统包含以下核心功能: 1.…

【企业架构】TOGAF概念之四(终结)

导读:学习TOGAF(The Open Group Architecture Framework,开放组架构框架)相关概念的意义和价值,体现在它为企业架构(Enterprise Architecture, EA)实践提供了标准化方法论、跨领域协同框架、战略…

centos 怎么部署 vscode 网页版

安装编译工具 下载适用于 linux 版本的 rpm 格式文件 下載 Visual Studio Tools - 免費安裝 Windows、Mac、Linux 拷贝路径,下载文件 wget https://vscode.download.prss.microsoft.com/dbazure/download/stable/e3550cfac4b63ca4eafca7b601f0d2885817fd1f/code…

sql的关键字 limit 和offset

核心概念LIMIT (限制): 指定查询最多返回多少行记录。OFFSET (偏移): 指定在开始返回记录之前要跳过多少行记录。它定义了结果集的起始点。核心前提: 必须 使用 ORDER BY 子句来确保分页结果的顺序稳定和可预测。示例: 假设 employees 表有 100 条记录&a…

git config的配置全局或局部仓库的参数: local, global, system

git config的范围参数: local, global, system1. --local: 作用于当前仓库2. --global: 作用于当前用户的全局范围的 Git 仓库3. --system: 作用于系统范围内的 Git 仓库4. 注意事项参考链接1. --local: 作用于当前仓库 --local: 这个参数的作用范围是当前仓库。其配置的参数保…

应用系统连达梦数据库报“服务器模式不匹配”的根源与修复方案

近期遇到很多个应用系统连接达梦数据库报“服务器模式不匹配”的问题,省流直接说文章结论通常两种场景 初次连接达梦数据库时报服务器模式不匹配,可能是配置文件中LOGIN_MODE参数配置与数据库状态不一致导致连接失败应用系统正常运行负载大或者偶发报服务…

git:分支

分支命名可以使用斜杠(/)构建分层命名方案不能以减号(-)开头,分层的命名不能以点(.)开头不能使用连接两个点(.)不能包括空格或其他空白字符以及~ ^ : ? * [列出分支名称 git branch 列出本地版本库的分支git branch -r 列出远程跟踪分支git branch -a …

T05_卷积神经网络

全连接网络存的弊端 以MINST数字识别为例,创建一个4层全连接网络层,输入为28x28,中间三个隐藏层的节点数都是 256,输出节点数是10。通过summary()函数打印出模型每一层的参数量,计算总的参数量超过34万个网络参数&…

区块链在可信空间智能合约中的应用

区块链在可信数据空间的智能合约应用,通过去中心化信任机制、自动化执行、可验证计算等特性,正在重塑数据存储、共享、交易和治理的模式。以下是其核心应用方向、关键技术及落地案例的深度解析: 一、核心应用方向 1. 数据确权与授权管理 应用场景 个人数据主权:用户通过智…

pycharm配置python解释器教程

一个解释器对应一个环境,无论是conda环境或是Python环境。python环境的解释器的路径形如"D:\Python3.12\python.exe",conda环境的解释器的路径形如"D:\anaconda3\envs\opencv\python.exe"。 如何在Pycharm中设置解释器 打开pycharm&…

C#教程之NPOI读写excel文件XLS,XLSX格式

NPOI 是开源的 POI 项目的.NET版,可以用来读写Excel,Word,PPT文件。仅需处理 XLS/XLSX 格式的文本和数字读写,最少需要加载 2 个核心 DLL:NPOI.dll包含所有格式的通用接口(IWorkbook、ISheet、IRow、ICell …

Perforce P4 Git 连接器

Perforce P4 Git连接器将Git代码库与数字资产集中存储于Perforce P4(前身为Helix Core),为所有数字资产(源码二进制文件)构建单一事实来源。 突破代码库与文件限制 当艺术家、开发者及工程师组成的大型团队仅使用Git时…

day10_寻找用户推荐人

一、题目给出一张customer表,里面有id(客户id)——主键,name(客户姓名),referee_id(推荐人客户id)三个字段二、题目要求1、找出被id不是2的用户推荐的客户姓名2、没有被任…

python爬虫(三)----Selenium

目录 1. Selenium 1.1 Selenium是啥 1.2 安装chrom Driver 1.3 selenium 使用 1.4 selenium元素定位 1.5 访问元素信息 1.6 交互 2. Phantomjs、Chrom handless 1. Selenium 1.1 Selenium是啥 自动化Web浏览器操作 主要用于Web应用程序的测试 支持多操作系统、多浏览器…

《事务隔离级别与 MVCC 机制深度剖析》

🔍 事务隔离级别与 MVCC 机制深度剖析 🧠 前言 在高并发场景下,数据库事务是保证数据一致性的基石。但在 MySQL InnoDB 中,事务的隔离级别、锁策略、MVCC(多版本并发控制)之间的配合,常常是面…

20250814,通义万相,无限生成权限(慢速)

今天看小红书,发现通义万相可以免费生成慢速图片。研究一下每天10分用完后,按钮就变成0,但是可以点击这个0,进入排队慢速生成状态。原来通义万相的收费主要是用来提速的(快速出图),不着急的话也…

Salesforce方案:医疗行业“患者随访与健康管理”

医疗行业“患者随访与健康管理”的Salesforce方案设计 一、业务需求核心解析 医疗行业患者随访与健康管理需实现三大目标: 全周期健康记录:整合患者基本信息、病史、诊疗记录及检查结果,形成完整健康档案个性化随访计划:基于病种和…