Linux-进程-007

1进程

1.1进程基本概念

程序:存放在外存中的一段数据组成的文件
进程:是一个程序动态执行的过程,包括进程的创建,进程的调度,进程的消亡

1.2进程相关命令

1.2.1打开任务管理器

【top】:动态查看当前系统中的所有进程信息
q:退出PID:唯一识别进程的ID号(>0)优先级:Linux系统中数据高,优先级高(-20~19),Windows中数据高,优先级高

1.2.2进程优先级设定

1.2.2.1【nice】
以指定优先级运行进程
用法:【nice -n 优先级 要执行的集成任务】
1.2.2.2【renice】
重新设定一个正在运行的进程的优先级
用法:【renice -n 优先级 进程PID】

1.2.3结束进程

1.2.3.1【kill】
杀死指定的进程任务
用法:【kill -9 进程PID】
1.2.3.2【killall】
杀死进程名对应的所有进程任务
用法:【killall -9 进程名】

1.2.4查看进程信息

1.2.4.1【ps -ef】
查看当前时刻所有进程信息
用法:【ps -ef | prep a.out】:通过管道命令,查看所有与【a.out】相关进程的信息。
1.2.4.2【pstree】
查看进程树信息
1.2.4.3【ps -aux】
查看当前时刻进程信息
1.2.4.4【jobs】
查看一个终端下后台执行的所有任务

1.2.8执行状态

1.2.8.1【fg】
后台任务放到前台执行
用法:【fg 编号】

1.3进程的创建

1.3.1

【32bits】一个进程在运行时,操作系统会为该进程分配0~4G虚拟内存空间,分为文本段,数据段,系统数据段进程空间:包含(内核,栈区,堆区,数据区,文本区)
内核:
栈区:
(1)局部变量存放在栈区中
(2)未经初始化为随机值
(3)代码执行到变量定义的时候开辟空间
(4)超过变量作用域回收空间
(5)栈区中地址的增长方向自高向低
堆区:
(1)堆区空间由malloc申请
(2)堆区空间由free函数释放
(3)堆区地址的增长方向自低向高
数据区:
(1)数据区存放静态变量,全局变量,字符串常量
(2)编译时开辟空间,执行时将该空间加载到内存中
(3)未经初始化为0值
(4)程序结束回收数据空间
文本区:(1)存放代码和指令数据段:也称为数据区,可以细分为:1.字符串常量区2.未初始化全局变量/静态变量3.已初始化全局变量/静态变量 系统数据段:包含堆区和栈区

在这里插入图片描述

1.3.2进程中虚拟地址和物理地址的关系

1.0~4G虚拟内存空间只有一个
2.实际物理地址中每个进程空间独立
3.通过MMU内存映射单元,单一个进程执行时,将物理地址中的数据加载到虚拟地址中运行

1.4进程的调度

1.4.1常见的调度算法

(1)先来先执行,后来后执行
(2)高优先级调度算法
(3)时间片轮转调度算法时间片:CPU在一个任务中的运行时间称为一个时间片
(4)多级队列反馈调度算法
(5)负载均衡调度算法

1.4.2宏观并行,微观串行

1.4.3进程的状态

1.4.3.1【R】

运行态:
就绪态:
1.4.3.2【S】
睡眠态:
可唤醒等待态:
1.4.3.3【D】
不可唤醒等待态:
1.4.3.4【T】
暂停态:
1.4.3.5【Z】
僵尸态:
1.4.3.6【X】
结束态:

1.5进程的消亡

1.僵尸进程:
进程代码执行结束,空间没有被回收,称为僵尸进程
2.如何避免产生僵尸进程:
(1)让父进程先结束
(2)让父进程回收子进程空间
3.孤儿进程进程的父进程先结束,此刻该进程称为孤儿进程,被系统进程收养,进程再结束时,会被系统进程回收进入进程空间。

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

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

相关文章

国企招聘考试------笔试资料-校园招聘

国企招聘考试一直备受广大求职者的关注,因为国企招聘通常具有稳定的岗位、优厚的福利待遇和广阔的发展空间,因此备战国企招聘考试成为许多求职者的重要任务。为了帮助求职者更好地准备国企招聘笔试,我将为你介绍这套校招试题资料。 国企招聘…

Win UI3开发笔记(四)设置主题

Win UI3设置主题过程 参考文章网址:https://blog.csdn.net/white_night_SZTU/article/details/132819719 核心代码: rootElement.RequestedTheme ElementTheme.Dark; //这和在前端设置控件的 RequestedTheme"Dark"属性是一样的结果&#xf…

TensorFlow中的分布式深度学习

在处理复杂问题和大规模深度学习问题时,分布式深度学习为我们提供了突破口。它允许我们利用多个设备和计算资源的力量,更好地训练我们的模型。讨论这个话题时,不得不提的是 TensorFlow,它通过 tf.distribute 包为分布式学习提供了…

Apriori 与 FP-growth 算法

关联规则挖掘:Apriori 与 FP-growth 算法 关联规则挖掘概述Apriori 算法基本原理应用实例FP-growth 算法基本原理应用实例其他机器学习算法:机器学习实战工具安装和使用关联规则挖掘是数据挖掘领域中的一个重要任务,旨在发现数据集中不同项之间的关联关系。Apriori 算法和 F…

面试精选-前端

1、防抖 防抖 (Debouncing) 的含义是指在一定时间内,多次触发同一个事件,只执行最后一次操作。例如,当我们在搜索框中输入关键词时,输入框会不断触发oninput事件,如果每次输入都去请求服务器获取数据,会造…

idea集成git(实用篇)

0.Git常用命令 Git常用命令-CSDN博客 1.下载git Git - Downloads 一路傻瓜式安装即可(NEXT) 2.软件测试 在Windows桌面空白处,点击鼠标右键,弹出右键菜单 Git软件安装后,会在右键菜单中增加两个菜单 Git GUI He…

Go编译到linux运行出现 cannot execute binary file

1.初学Go就在windows上写了个"Hello,World!",在windown上编译了一下,生成了可执行文件。运行无问题 go build text.go .\text.exe Hello,World!2.但是按照网上的教程进行生成linux的可执行文件时出现报错 set CGO_ENABLED0 set GOOSlinux set GOARCHam…

程序媛的mac修炼手册-- 2024如何彻底卸载Python

啊,前段时间因为想尝试chatgpt的API,需要先创建一个python虚拟环境来安装OpenAI Python library. 结果,不出意外的出意外了,安装好OpenAI Python library后,因为身份认证问题,根本就没有获取API key的权限…

Git命令操作

什么是Git? Git是⼀个免费的,开源的分布式版本控制软件系统 git区域 存储区域:Git软件⽤于存储资源得区域。⼀般指得就是.git⽂件夹 ⼯作区域:Git软件对外提供资源得区域,此区域可⼈⼯对资源进⾏处理。 暂存区&am…

Escalate_Linux(3)--通过读取密码文件shadow来破解root用户的口令实现提权

通过读取密码文件shadow来破解root用户的口令实现提权 通过读取密码文件/etc/shadow来破解root用户的口令 ls -l /etc/shadow 普通用户无查看shadow权限 echo "cat /etc/shadow" >/tmp/ls ​ chmod 755 /tmp/ls ​ export PATH/tmp:$PATH ​ /home/user5/script…

Ubuntu中Python包的寻找路径

文章目录 一、Pyhon包的查找位置二、某个Python特定包的查找位置参考 一、Pyhon包的查找位置 ▶ [~]$ python -m site sys.path [/home/wangji,/usr/lib/python310.zip,/usr/lib/python3.10,/usr/lib/python3.10/lib-dynload,/home/wangji/.local/lib/python3.10/site-packag…

[C++]c++冒泡排序示例

冒泡排序是一种计算机科学领域的较简单的排序算法,这篇文章主要介绍了c冒泡排序示例,需要的朋友可以参考下 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个…

019 Spring Boot+Vue 电影院会员管理系统(源代码+数据库+文档)

部分代码地址: https://github.com/XinChennn/xc019-cinema 一、系统介绍 cinema项目是一套电影院会员管理系统,使用前后端分离架构开发包含管理员、会员管理、会员卡管理、电影票、消费记录、数据统计等模块 二、所用技术 后端技术栈: …

RabbitMQ-消息队列:优先级队列、惰性队列

20、优先级队列 在我们系统中有一个订单催付的场景,我们的客户在天猫下的订单,淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒,很简单的一个功能对吧。 但是,天猫商家对我…

Apache Flume:分布式日志收集系统

什么是Apache Flume? Apache Flume 是一个分布式、可靠、高可用的服务,用于高效收集、聚合和移动大量日志数据。它的主要目标是将日志数据从源头传输到中央数据存储,如Hadoop的HDFS。Flume 是为了可靠地处理日志数据而设计的,它有…

【数据结构】周末作业

1.new(struct list_head*)malloc(sizeof(struct list_head*)); if(newNULL) { printf("失败\n"); return; } new->nextprev->next; prev->nextnew; return; 2.struct list_head* pprev->next; prev->nextp->next; p->next->prevpr…

【Java程序员面试专栏 算法思维】一 高频面试算法题:排序算法

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊排序算法,包括手撕排序算法,经典的TOPK问题以及区间合并,所以放到一篇Blog中集中练习 题目关键字解题思路时间空间快速排序双指针+递归+基准值分…

一种基于道路分类特性的超快速车道检测算法

摘要: 本文介绍了一种新颖、简单但有效的车道检测公式。 车道检测是自动驾驶和高级驾驶员辅助系统 (ADAS) 的基本组成部分,在实际高阶驾驶辅助应用中,考虑车道保持、转向、限速等相关的控制问题,这种方式通常是通过受限的车辆计算…

MATLAB环境下基于图像处理的视网膜图像血管分割

预防糖尿病对每个人的健康至关重要,而糖尿病的早期症状在眼底视网膜血管会有所体现,如静脉血管扩张、轻度弯曲等。高血压作为常见疾病,在中国有多达2.45亿的患者。高血压的病情也会在眼底视网膜血管上有所体现,如交叉压迫征等反映…

鸿蒙开发【WebGL】简单了解

WebGL的全称为Web Graphic Library(网页图形库),主要用于交互式渲染2D图形和3D图形。目前HarmonyOS中使用的WebGL是基于OpenGL裁剪的OpenGL ES,可以在HTML5的canvas元素对象中使用,无需使用插件,支持跨平台。WebGL程序是由JavaScr…