linux管理进程

一、程序

程序:执行特定任务的一串代码

1.是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具

2.用于描述进程要完成的功能,是控制进程执行的指令集

二、进程和线程

1.进程

进程是程序的执行实例,拥有独立的资源和状态

进程特征:

1.动态性:进程是程序的一次执行过程,是临时的,有生命期的,是动态产生,动态消亡的

2.并发性:任何进程都可以同其他进程一起并发执行

3.独立性:进程是系统进行资源分配和调度的一个独立单位

4.结构性:进程由程序、数据和进程控制块三部分组成

2.线程

线程是进程中的执行路径,共享进程的资源和地址空间,多个线程可以并发执行,实现程序的并发处理。线程是程序执行中一个单一的顺序控制流程,是程序执行流的最小单元,是处理器调度和分派的基本单位。一个进程可以有一个或多个线程,各个线程之间共享程序的内存空间(也就是所在进程的内存空间)。一个标准的线程由线程ID、当前指令指针(PC)、寄存器和堆栈组成。而进程由内存空间(代码、数据、进程空间、打开的文件)和一个或多个线程组成。

3.协程

协程(Coroutines):一种基于线程之上,但又比线程更加轻量级的存在,这种由程序员自己写的程序,管理的轻量级线程叫做『用户空间线程』,具有对内核来说不可见的特性

4.进程与线程的区别

1.线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位

2.一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线

3.进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其他进程不可见

4.线程上下文切换比进程上下文切换要快得多

5.进程使用内存的问题

开启进程消耗硬件资源(内存、硬盘、cpu使用率),硬件资源消耗完了就会卡顿

内核功用:进程管理,内存管理,文件系统,网络功能、驱动程序、安全功能等

1.内存泄漏:Memory Leak

指程序中用malloc或new申请了一块内存,但是没有用free或delete将内存释放,导致这块内存一直处于占用状态

2.内存溢出:Memory Overflow

指程序申请了10M的空间,但是在这个空间写入10M以上字节的数据,就是溢出

3.内存不足:OOM

内存不足(out of meory):给应用分配内存太少:比如虚拟机本身可使用的内存(一般通过启动时的VM参数指定)太少。应用用的太多,并且用完没释放,浪费了。此时就会造成内存泄露或者内存溢出。

当我们出现内存不足(OOM)时常使用的解决办法:

1,限制java进程的max heap,并且降低java程序的worker数量,从而降低内存使用

2,给系统增加swap空间

4.查看进程中的线程

这里的-p是显示进程pid号

命令格式:pstree -p

5.查看当前内存占用情况

命令格式:pmap  需要查看的进程pid号

注:.so结尾的一般是功能模块

三、进程状态

1.进程的基本状态

1.创建状态:进程在创建时需要申请一个空白PCB(process control block)进程控制块,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态

2.*就绪状态:进程已准备好,已分配到所需资源,只要分配到CPU就能够立即运行

3.*执行状态:进程处于就绪状态被调度后,进程进入执行状态

4.阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受到阻塞,在满足需求时进入就绪状态等待系统调用

5.终止状态:进程结束、出现错误或被系统终止,进入终止状态无法再执行

2.状态之间转换六种情况

1.运行---就绪:主要是进程占用CPU的时间过长,而系统分配给该进程占用CPU的时间是有限的,在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行时,该进程就被迫让出CPU,该进程便由执行状态转变为就绪状态

2.就绪---运行:运行的进程的时间片用完,调度就转到就绪队列中选择合适的进程分配CPU

3.运行---阻塞:正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为阻塞状态,如发生了I/O请求

4.阻塞---就绪:进程所等待的事件已经发生,就进入就绪队列

5.阻塞---运行:即使给阻塞进程分配CPU,也无法执行,操作系统在进行调度时不会从阻塞队列进行挑选,而是从就绪队列中选取

6.就绪---阻塞:就绪态根本就没有执行,谈不上进入阻塞态

1.进程更多的状态

1.运行态:running 

2.就绪态:ready

3.睡眠态:分为两种,可中断:interruptable不可中断:uninterruptable

4.停止态:stopped,暂停于内存,但不会被调度,除非手动启动

5.僵死态:zombie,僵尸态,结束进程,父进程结束前,子进程不关闭。解决办法:杀死父进程可以关闭僵死态的子进程。结束父进程,父进程会回收子进程的硬件资源,子进程如果出现意外关闭,父进程无感知就不会收回资源,人为关闭父进程,资源不会回收产生僵尸进程

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

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

相关文章

CSS导读 (CSS的背景 上)

(大家好,今天我们将继续来学习CSS的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 四、CSS的背景 4.1 背景颜色 4.2 背景图片 4.3 背景平铺 4.4 背景图片位置 4.4.1 参数是方位名词 …

[蓝桥杯 2019 国 B] 解谜游戏

[蓝桥杯 2019 国 B] 解谜游戏 题目背景 题目描述 小明正在玩一款解谜游戏。谜题由 24 24 24 根塑料棒组成,其中黄色塑料棒 4 4 4 根,红色 8 8 8 根,绿色 12 12 12 根 (后面用 Y 表示黄色、R 表示红色、G 表示绿色)。初始时这些塑料棒排…

代码随想录刷题随记23-回溯3

代码随想录刷题随记23-回溯3 39. 组合总和 leetcode链接 注意同一个 数字可以 无限制重复被选取 怎么体现这个可以重复取的思想很重要 解题代码&#xff1a; class Solution { public:void backtrace( vector<vector<int>>& ret,vector<int> &pat…

鸿蒙端云一体化开发--调用云函数--适合小白体制

如何实现在端侧调用云函数&#xff1f; 观看前&#xff0c;友情提示&#xff1a; 不知道《如何一键创建端云一体化模板》的小白同学&#xff0c;请看&#xff1a; 鸿蒙端云一体化开发--开发云函数--适合小白体制-CSDN博客 实现方法&#xff1a; 第一步&#xff1a;添加依赖 …

android studio 网络请求okhttp3、okgo

一、在build.gradle文件里添加 implementation com.squareup.okhttp3:okhttp:4.9.0 implementation com.squareup.okhttp3:okhttp:3.12.0 implementation com.squareup.okio:okio:1.17.4 implementation com.lzy.net:okgo:3.0.4 implementation com.alibaba:fastjson:1.2.57 i…

Linux之 USB驱动框架-usb-skeleton.c usb驱动源码分析(3)

一、usb 驱动框架图 二、 usb 设备经典驱动&#xff1a;usb-skeleton.c 驱动 路径&#xff1a; drivers/usb/usb-skeleton.c USB骨架程序可以看做一个最简单的USB设备驱动的实例&#xff0c;其分析流程大致如下&#xff1a; static struct usb_driver skel_driver { …

hot100 -- 链表(中)

不要觉得力扣核心代码模式麻烦&#xff0c;它确实比不上ACM模式舒服&#xff0c;可以自己处理输入输出 只是你对 链表 和 return 的理解不到位 &#x1f442; ▶ 屿前世 (163.com) &#x1f442; ▶ see you tomorrow (163.com) 目录 &#x1f382;两数相加 &#x1f6a9;删…

使用阿里云试用Elasticsearch学习:5. 地理位置

我们拿着纸质地图漫步城市的日子一去不返了。得益于智能手机&#xff0c;我们现在总是可以知道 自己所处的准确位置&#xff0c;也预料到网站会使用这些信息。我想知道从当前位置步行 5 分钟内可到的那些餐馆&#xff0c;对伦敦更大范围内的其他餐馆并不感兴趣。 但地理位置功…

【CAN】采样点介绍及测试方法

文章目录 1 什么是采样点2 为什么需要采样点3 采样点的计算公式4 VH6501测试原理和方法4.1 VH6501测试采样点原理4.2 VH6501测试方法 >>返回总目录<< 1 什么是采样点 采样点是节点判断信号逻辑电平的位置&#xff0c;是CAN控制器读取总线电平&#xff0c;并解释各…

Big Data and Cognitive Computing (IF=3.7) 计算机/大数据/人工智能期刊投稿

Special Issue: Artificial Cognitive Systems for Computer Vision 欢迎计算机/大数据/人工智能/计算机视觉相关工作的投稿&#xff01; 影响因子3.7&#xff0c;截止时间2024年12月31日 投稿咨询&#xff1a;lqyan18fudan.edu.cn 投稿网址&#xff1a;https://www.mdpi.com/j…

【多模态检索】Coarse-to-Fine Visual Representation

快手文本视频多模态检索论文 论文&#xff1a;Towards Efficient and Effective Text-to-Video Retrieval with Coarse-to-Fine Visual Representation Learning 链接&#xff1a;https://arxiv.org/abs/2401.00701 摘要 近些年&#xff0c;基于CLIP的text-to-video检索方法…

二维旋转变换

求点 P(x1, y1) 绕点 Q(x2, y2) 逆时针旋转 θ 得到的点的坐标 先看绕原点旋转的情况&#xff1a; 如图所示点 v 绕 原点旋转 θ 角&#xff0c;得到点v’&#xff0c;假设 v点的坐标是(x, y) &#xff0c;那么可以推导得到 v’点的坐标&#xff08;x’, y’)&#xff1a; { x …