Linux进程总结(上)

Linux进程——进程退出 线程。 阅读详情

进程概念:
1.个程序运行在操作系统上,即操作系统为该程序分配一系列的资源,并且将该进程描述为一个PCB(task_struct)结构体。
2. 进程即运行起来的程序,分配CPU资源的实体

task_struct结构体主要内容:
1.标识符,即进程id
2.上下文数据,保存进程执行时,寄存器当中的数据内容
3.程序计数器,保存当前进程所要执行的下一条命令
4.内存指针,指向进程执行所需要的数据和代码
5.状态,表示当前进程的所处状态
等等…

进程状态:
1.运行态(R)
2.可中断睡眠态(S)
3.不可中断睡眠态(D)
4.停止态(T)
5.僵尸态(Z)
6.跟踪态(t)和死亡态(X)

僵尸进程:
产生原因:
由于子进程先于父进程退出,
子进程退出时,为了保存自己的退出状态,等待父进程获取自己的退出状态,释放子进程资源
但是由于父进程并没有关心子进程退出,导致子进程一直占用着系统资源,不释放,直到父进程读取子进程退出状态
也就导致子进程变成了僵尸进程
危害:
造成内存泄漏,浪费系统资源,正常的进程无法创建
详见:https://blog.youkuaiyun.com/Code_ZX/article/details/84636809

孤儿进程:
父进程先于子进程退出
子进程没有父进程获取自身的退出状态,也就变成了孤儿进程
但是,所有的孤儿进程都被一号(init)进程所收养,由一号进程作为所有孤儿进程的父进程,负责孤儿进程的资源释放

详见:https://blog.youkuaiyun.com/Code_ZX/article/details/84636809
**注:**孤儿进程在系统后台运行

进程优先级:
概念:决定CPU资源分配的先后顺序,在进程中,优先级有PRI值表现,值越高,代表优先级越低
查看进程优先级命令:ps -efl

UID:进程执行者的身份
PID:进程ID
PPID:父进程ID,也称线程ID
PRI:代表进程优先级,值越小,优先级越高
NI:进程nice值,在-20—19的范围内,可通过修改nice值,修改进程优先级

修改进程优先级:
原理:PRI(new) = PRI(old) + NI(nice)
命令:
nice -n + nice值 + 运行程序指令 在程序运行前修改优先级
renice nice值 -p + PID 在程序运行时修改优先级

进程其他概念:
竞争性:因为CPU资源有限,每个进程为了抢夺CPU资源,因此进程之间具有竞争属性
也就引出了 优先级
独立性:每个进程运行当中是相互独立的,不能影响其他进程的运行
并行: 并行是指多个CPU,每个CPU加载一个进程,同时运行多个进程
并发: 并发指单个CPU,多个进程在其采用进程切换的方式,在一段时间内,相当于多个进程 同时运行的方式

环境变量:
概念:操作系统中具有特殊功能的全局参数
查看环境变量:
echo $变量名:显示该环境变量的值
export:设置一个新的环境变量
env:显示所有的环境变量
unset:清除环境变量
set: 显示本地定义的shell变量和环境变量
通过代码获取环境变量方法:
1.命令行的第三个参数 char* env[]
2.通过第三方变量(environ):环境变量表,是一个字符指针数组,
需要extern声明
3.通过getenv(参数): 参数环境变量名

程序地址空间(进程地址空间)(虚拟地址空间):
1.4G为例:
从低位(0X00000000)到高位(0XC0000000):用户区
依次是:代码区—>已初始化全局数据区—>未初始化全局数据区—>堆区
—>共享区—>栈区—>命令行参数和环境变量区
从(0XC0000000)到(0Xffffffff):内核区,用户访问受限

2.(物理地址)内存地址:其实是对内存的编号,一个地址的指向就是内存的某一个位置
用户一概看不到,由OS统一管理

3.页表:1.记录虚拟地址与物理地址之间的映射关系
2.内存的访问控制
如图:
在这里插入图片描述

我胡汉三又回来了!!!!!!!
在这里插入图片描述

Linux创建进程链、进程扇、进程树 如何创建进程链、进程扇、进程树 阅读详情

相关推荐

C# 进程间 双内存共享 高帧率图像传输

演示了两个进程之间通过 双内存共享 的方式, 来实时处理图像,并以高帧率(40~60FPS)传输的基本示例。 进程间内存共享的优点:高性能、低延迟、资源效率高、简单可靠。 适用场景:实时图像处理、大数据传输、多进程协作、实时监控系统,等等。

qianqiansd 1996

Linux进程被信号杀死后退出状态码(exit code)的分析

https://blog.youkuaiyun.com/halfclear/article/details/72783900

二进制模----细微行动改变影响世界 4119

避坑指南:在Ubuntu 22.04上配置UR5e与ROS2 Humble真机通信的完整流程

本文详细介绍了在Ubuntu 22.04上配置UR5e机械臂与ROS2 Humble真机通信的完整流程,包括环境准备、网络配置、URCap安装、ROS2驱动部署及控制器状态验证等关键步骤。特别针对常见问题如网络连接失败、驱动启动错误等提供了实用解决方案,帮助工程师高效完成UR5e与ROS2的集成工作。

weixin_30790841的博客 463

Linux进程总结

进程,是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。它的执行需要系统分配资源创建实体之后,才能进行。举个例子:我们所写的程序,在运行的时候它也是一个进程。 进程和程序的区别:程序相当于是一个文件,是有序代码的集合,是静态的存储在硬盘中。而进程是运行中的程序,系统会为变量分配相应的内存和初始化它们的值,还有一些资源如:堆、栈等当程序运行完...

yangxueyangxue的博客 375

Halcon和C#联合编程实现硬币识别(个人入门练习)

本人为机器视觉入门小白,自己突发奇想 1.图片数据来源和分析 2.HALCON实现 3.C#搭建界面框架 4.C#中嵌入HALCON代码,即联合编程 5.导出.exe文件,运行以及Debug 目标是这样的,在图片中识别出每种类型的硬币数量,然后计算出总钱数。先上结果,再细说过程。 C#界面和识别结果: 1.图片数据来源和分析 图片大小及格式均统一,拍摄的时候已经尽可能的去除了背景噪点,所以图像处理的要求并不很高(重点在于思路)。硬币区分原理本人代码采用直径范围来判断(也可以半径或区域面积,HALCON算子

Demobird的博客 3616

搞定安卓11+抓包难题:用Kitsune Mask、magic_overlayfs和LSPosed三件套绕过SSL Pinning(保姆级教程)

本文详细解析了安卓11+系统中抓包面临的核心挑战,包括SSL Pinning和Root检测机制,并提供了使用Kitsune Mask、magic_overlayfs和LSPosed三件套的完整解决方案。通过动态分区技术解析和工具链配置,帮助开发者绕过安全限制,实现高效抓包分析。

weixin_42665255的博客 442

Ubuntu终止进程的方法(kill、pkill、killall)

用户退出: sudo pkill -u username   1. kill 作用:根据进程号杀死进程 用法: kill [信号代码] 进程ID   root@fcola:/# ps -ef | grep sendmail smmsp    14354 14337  0 00:08 pts/1    00:00:00 sendmail start smmsp  ...

Just Code 2万+

TC3xx芯片中断配置避坑指南:从AUTOSAR Davinci配置到SRN地址计算的完整流程

本文详细解析了英飞凌TC3xx芯片的中断配置流程,从AUTOSAR Davinci工具链到硬件调试的全链路指南。重点介绍了中断路由(IR)模块、服务请求节点(SRN)和中断控制单元(ICU)的配置技巧,帮助开发者避开常见陷阱,优化中断性能。

weixin_30628801的博客 413

Linux的进程管理

一、进程定义进程(process)是执行中的程序,也可以理解为cpu未完成的工作二、显示进程(ps命令)用户可以使用ps命令来查看自己在shell中执行的进程显示内容的各字段如下:PID:进程编号,每个进程都有自己的编号且不会重复,可用PID来指定进程。TTY: 进程执行时的终端TIME:进程已经执行的时间CMD:进程的名称ps命令可以显示更多的信息,root用户可以监听系统所有的进程,显示进程的...

Code for need ,Code for fun 178

全面认识PFC和LLC

想象一下,你在拉一辆车,如果你的力气都用在推动车子前进的方向上,这样拉车会比较轻松。而如果你的力气用在不正确的方向,比如侧向、斜向,那就需要更大的力气才能推动车子。PFC就是在帮助电流“朝着正确的方向”流动,这样可以用更少的能量做更多的事情,减少无用的功率损耗。PFC负责将电流方向对齐,让电源效率更高,而LLC负责电压的高效转换,两者配合可以在更宽的负载范围内保持高效率。综上所述,PFC LLC电路是一种高效的电源转换电路,通过PFC模块和LLC模块的组合,实现了从交流电到直流电的高效转换。

weixin_43199439的博客 6098

ArcGIS Pro符号化教程

本文详细介绍了ArcGIS Pro的软件设置和符号化操作步骤。主要包括:1)设置默认工程目录和关闭地图自动加载;2)创建新工程的基本流程;3)点要素的单一符号化方法,包括样式修改和图层调整;4)图表符号显示过滤器的使用,涉及字段添加、图表类型选择和背景设置。文章还提供了操作截图和数据下载链接,适合GIS初学者学习ArcGIS Pro的基础符号化操作。

WwLK123的博客 549

Linux 进程必知必会

上一篇文章只是简单的描述了一下 Linux 基本概念,通过几个例子来说明 Linux 基本应用程序,然后以 Linux 基本内核构造来结尾。那么本篇文章我们就深入理解一下 Linux 内核来理解 Linux 的基本概念之进程和线程。系统调用是操作系统本身的接口,它对于创建进程和线程,内存分配,共享文件和 I/O 来说都很重要。 我们将从各个版本的共性出发来进行探讨。 基本概念 Linux 一个非常重要的概念就是进程,Linux 进程和我们在 进程和线程 这篇文章 中探讨的进程模型非常相似。每个进程都会运行一

程序员cxuan的个人主页 5872

【智能流体力学】使用ANSYS Fluent + SpaceClaim + SCDM制作流体力学前处理的几何模型

生成来源.scdoc文件来自前处理工具生成的模型数据,或在 FLUENT 中创建和保存的模型。生成方式: 通过前处理工具导出网格数据,或在 FLUENT 中设置并保存模型。作用: 用于储存模型的结构信息和设置,确保在 FLUENT 中的正确导入和使用。.x_t文件是 Parasolid 文件格式的扩展名,用于存储三维模型数据。在 ANSYS Fluent 中,这种格式通常用于在前处理工具之间交换几何数据。要创建.x_t。

源代码杀手的博客 3265

【Linux】进程

本文将详细的介绍Linux环境的进程,与进程状态和进程优先级。

Yui_的博客 2049

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

linux中什么是进程名,Linux进程是什么

进程是 Linux 操作系统中最重要的基本概念之一,这一节我们将了解学习 Linux 进程的一些基础知识。进程是运行在 Linux 中的程序的一个实例。这是一个你之前就可能已经听说过的基本定义。当你在 Linux 系统中执行一个程序时,系统会为这个程序创建特定的环境。这个环境包含系统运行这个程序所需的任何东西。每当你在 Linux 中执行一个命令,它都会创建,或启动一个新的进程。比如,当你尝试运行...

weixin_39551554的博客 2053

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

<Linux> 进程

进程有关概念、如何创建进程、进程状态、环境变量详解、进程优先级、程序地址空间、如何控制进程以及如何替换进程

weixin_61522065的博客 4302

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【linux】进程控制——进程创建,进程退出,进程等待

一个进程创建了另一个进程,创建者为父进程,被创建者为子进程。父进程可以创建多个子进程。操作系统是一号进程,所有进程构成一颗多叉树结构。每个父进程只对直系的子进程负责。父进程创建子进程的一整套流程为:创建子进程——>子进程完成任务——>父进程回收子进程父进程先退,子进程未退。此时子进程的父亲进程被改为1号进程(操作系统),那么该子进程被称为孤儿进程父进程未退,子进程先退。但父进程没有读取到子进程的退出(进程等待),该子进程的状态被改为 Z 状态,Z 状态的进程被成为僵尸进程。

2301_79796701的博客 2708

【linux 多进程并发】0301 Linux创建后台服务进程,daemon进程,自己的进程可以被一号进程接管啦

通常我们在终端启动程序,该程序的父进程一般是终端进程,这样在终端退出时,会产生像SIGHUG信号发给所有子进程,子进程默认处理是退出。 我们要创建后台服务进程时,必需让进程与终端无关,这就是示例代码中经过一次fork之后,父进程退出,而子进程让systemd接管的真正作用。 本章节代码位于[gitcode](https://gitcode.com/toadb/hatchCode/overview), 路径为: multiProcess/ex02_multiprocess, 有兴趣的同学可以下载测试,当然

一个追逐梦想的码农 3233

Linux进程——Linux下常见的进程状态

在了解Linux中进程的分类时,我们通常是先了解操作系统的进程,因为二者有一定的联系,了解操作系统能更好理解进程在操作系统中的运行关系。进程状态在进程中也极为重要,希望大家能理解透彻!

EterNity_TiMe_的计算机学习之路 2792

【Linux】Linux进程管理

Linux进程管理

Linux小白一只~正处于学习阶段,觉得我写的还好的请多多给我点赞呀,谢谢大家!!(๑>ڡ<)☆ 5213

linux进程

这个文件用来检查内核数据结构的当前状态,通常由GDB调试使用 /proc/kmsg:此文件用来保存由内核输出的信息 /proc/meminfo:系统中关于当前内存的利用状况等的信息,常由free命令使用 /proc/version:当前系统运行的版本号 /proc/sys:与/proc下其他文件的只读属性不同,管理员可对/proc/sys子目录中的徐彤文件内容进行修改以更改内核的运行特性,事先可以使用ls -l查看某文件是否可写入。进程是程序的一次执行过程,动态的,包括创建、调度、执行和消亡。

m0_45148083的博客 1621

Linux进程控制——Linux进程终止

进程终止相对于其他的进程控制来说,是很好理解的。我们主要介绍了进程终止,在明白错误码和退出码之后,相信能理解父进程是怎么得到子进程信息的。让我们期待下一节——进程等待与替换!

EterNity_TiMe_的计算机学习之路 2343

Linux——进程概念

进程概念精析

2302_81486993的博客 3290

linux查找被杀死的进程,linux查找进程和杀死进程

查看进程:ps -ef | grep 检索内容杀死进程:kill pid (进程号)kill -9 pid 强制杀死进程ps命令将某个进程显示出来grep命令是查找中间的|是管道命令 是指ps命令与grep同时执行PS是LINUX下最常用的也是非常强大的进程查看命令grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是G...

weixin_34944897的博客 2447

linux 系统master进程,Linux进程监视

由于复刻了 mon 项目到 etbemon 中,我花了一些时间做监视脚本。事实上监视一些事情通常很容易,但是决定监视什么才是困难的部分。进程监视脚本 ps.monitor 是我重新设计过的一个。对于进程监视我有一些思路。如果你对进程监视如何做的更好有任何建议,请通过评论区告诉我。给不使用 mon 的人介绍一下,如果一切 OK 该监视脚本就返回 0,而如果有问题它会返回 1,并使用标准输出显示错误信...

weixin_35598104的博客 2776

Linux之进程

进程是程序的一次执行。进程是可以并行执行的计算。进程是一个程序与其使用的数据在处理机上顺序执行时发生的活动。进程是程序在一个数据集合上的运行过程。它是系统进行资源分配和调度的一个独立单位作业控制--- 一个命令行功能,允许一个shell实例来运行和管理多个命令,Shell的一个特性,使用户能在多个独立进程间进行切换命令及作用命令作用cmd&该命令在后台运行Ctrl+d终止一个正在前台运行的进程(含有正常含义)Ctrl+c终止一个正在前台运行的进程(含有强行含义)

qq_57289939的博客 3221
上一篇: C++继承总结
下一篇: 进程——孤儿进程 僵尸进程
Code_zx
博客等级 码龄9年 83粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值