Linux应用基础——监控与管理进程

news2025/2/28 17:05:05

目录

一、进程

1.定义

2.组成

3.进程环境包括

4.进程的生命周期

二、描述进程状态

三、相关命令

1.top命令

2.ps命令

二、中断进程

1.基本进程管理信号

2.每个信号的默认操作

3.相关命令

(1)kill命令

(2)killall命令

(3)pkill命令

三、以管理员身份注销账户

四、监控进程活动

1.负载均衡

(1)介绍

(2)负载均衡相关数据解释

(3)关于CPU的负载均衡解释


一、进程

1.定义

进程是已启动的可执行程序的运行中的实例

2.组成

已分配的内存的地址空间

安全属性,包括所有凭证和特权

程序代码的一个或多个执行线程

进程状态

3.进程环境包括

本地和全局变量

当前调度上下文

分配的系统资源,如文件描述符合网络端口

4.进程的生命周期

现有的父进程复制自己的地址空间(fork)来创建一个新的子进程结构,每个新进程分配有一个唯一进程ID(PID),满足跟踪和安全性需求,PID和父进程ID(PPID)是新进程环境的元素,任何进程可创建子进程,所有进程都是第一个系统进程的后代

 通过fork进程,子进程继承安全性身份、过去和当前的文件描述符、端口、资源特权,环境变量,以及程序代码。随后,子进程可能exec其自己的程序代码。通常,父进程在子进程运行期间处于睡眠状态,设置一个在子进程完成时发出信号的请求(wait),在退出时,子进程已经关闭或者丢弃了其资源和环境。剩下唯一的资源叫僵停,是进程表中的一个条目。父进程在子进程退出时收到信号而被唤醒,清理子条目的进程表,由此释放子进程的最后一个资源,然后,父进程继续执行自己的程序代码。

二、描述进程状态

名称

标志

内核定义的状态名称和描述

运行

TASK_RUNNING:进程正在CPU上执行,或者正在等待运行。处于运行中(或可运行)状态时,进程可能正在执行用户例程或内核例程(系统调用),或者已排队并就绪

睡眠

S

TASK_INTERRUPTICLE:进程正在等待吗某一条件

睡眠

D

TASK_UNINTERRUPTICLE:此进程也在睡眠,但是与S状态不同,不会响应信号。仅仅在进程中断可能会导致意外设备状态的情况使用

睡眠

K

TASK_KILLABLE:与不可中断的D状态相同,但是有修改,允许等待中的任务响应要被中断(彻底退出)的信号

睡眠

I

TASK_REPORT_IDLE:D状态的一个子集,在计算负载均衡值时,内核不会统计这些进程

已停止

T

TASK_STOPPED:进程已被停止(暂停)

已停止

T

TASK_TRACED:正在被调试的进程也会被临时停止,并且共享一个T状态标志

僵停

Z

EXIT_ZOMBIE:子进程在退出时向父进程发出信号

僵停

X

EXIT_DEAD:当前父进程清理(获取)剩余的子进程结构时,进程现在已彻底释放

三、相关命令

1.top命令

S列显示每个进程的状态,在单CPU系统上,一次只能运行一个进程,可以看到有多个R进程,并非所有进程都在运行,有些在等待

2.ps命令

用于列出当先进程,显示更详细的信息包括:

(1)用户UID,它确定进程的特权

(2)PID

(3)CPU和已经花费的实际时间

(4)进程在各种位置上分配内存数量

(5)进程stdout的位置,称为控制端

选项:

-aux 最常见的选项集,显示包括无控制终端的进程在内的所有进程。

-lax 提供更多技术的详细信息,但是可以避免查询用户名来加快显示。

-ef 类似于UNIX的语法使用选项。

-j 显示与作业相关的信息。

 

方括号中的进程(通常位于列表顶部)为调度的内核线程

僵停列为exiting和defunct

ps输出是一次性的,top可以实时更新输出

ps可以采用树形显示格式,便于查看父子进程之间的关系

二、中断进程

1.基本进程管理信号

信号编号

短名称

定义

用途

1

HUP

挂起

用于报告中断控制进程的终止,也用于请求进程重新初始化(重新加载配置)而不终止

2

INT

键盘中断

导致程序终止,可以被拦截或处理,通过按INTR键序列(ctrl+C)发送

3

QUIT

键盘退出

与SIGINT相似,在终止时添加进程转储。通过按QUIT键序列(ctrl+\)发送

9

KILL

中断、无法拦截

导致立即终止程序,无法拦截,忽略或处理,总是致命的

15

TERM(默认)

终止

导致程序终止,和SIGKILL不同,可以拦截,忽略处理,要求程序终止的“友好”方式;允许自我清理

18

CONT

继续

发送至进程使其恢复(若已经停止)。无法被拦截,即使被处理,也始终恢复进程

19

STOP

停止、无法拦截

暂停进程,无法被拦截或处理

20

TSTP

键盘停止

和SIGSTOP不同,可以被拦截、忽略或处理,通过按SUSP键序列(ctrl+Z)发送

2.每个信号的默认操作

终止——导致程序立即终止(退出)

核心转储——导致程序保存内存镜像(核心转储),然后终止

停止——导致程序停止执行(暂停),再等待继续(恢复)

3.相关命令

(1)kill命令

此命令根据PID编号向进程发送信号,此命令可用于发送任何信号,而不仅仅是终止信号

选项:

-l 列出所有可用信号的名称和编号

(2)killall命令

可以根据命令名称向多个进程发送信号

(3)pkill命令

向一个或多个符合条件的进程发送信号,选择条件可以是命令名称、特定用户拥有的进程或所有系统范围进程。pkill命令包括高级选择条件:

命令:具有模式匹配的命令名称的进程

UID:某一Linux用户账户拥有的进程吗,无论是有效还是真实

GID:某一Linux组账户拥有的进程,无论有效还是真实

父级:特定父进程的子进程

终端:运行于特定控制终端的进程

三、以管理员身份注销账户

要注销某个用户,首先确定要终止的登录会话,使用w命令列出用户登录和当前运行的进程,记录TTY和FROM列,以确定要关闭的会话

所有用户登录会话都与某个终端设备(TTY)相关联,若设备名称的格式为pts/N,说明这是一个与图形终端窗口或远程登录会话相关联的伪终端,如果格式为ttyN,则说明用户位于一个系统控制台、替代控制台或其他直接连接的终端设备上

四、监控进程活动

1.负载均衡

(1)介绍

负载均衡表示一段时间内感知系统负载,报告CPU上准备运行的进程数以及等待磁盘或网络I/O完成的进程数

(2)负载均衡相关数据解释

三个平均值表示了1,5,15分钟的负载情况 

(3)关于CPU的负载均衡解释

需要CPU时间的进程是增加负载数的原因,可以根据显示的负载均衡值除以系统中的逻辑CPU数,低于1,则资源利用率好,等待时间短,高于1,则资源饱和度高,等待时间长。

空闲CPU队列的负载数为0,每个等待CPU处理的进程都会使负载数加1,如果有一个进程在CPU上运行,则负载数为1,尽管资源(CPU)处于使用状态,但是没有等待要求,如果该进程运行整整1分钟,那么它对着1分钟的负载均衡贡献值就是1。

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

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

相关文章

助力不文明行文识别,基于YOLOv7融合RepVGG的遛狗牵绳行为检测识别分析系统

不知道大家平时在路上走的时候或者在小区的时候有没有遇上过遛狗不牵绳子的行为,我在实际生活里面可是没少遇到过,有时候特别大的一只狗就这么冲过来,主人却还无动于衷,揍他的心都有了,这种行为的确是很不文明&#xf…

Java项目:仓库管理系统设计和实现(java+ssm+springboot+layui)

源码获取:博客首页 "资源" 里下载! 主要功能模块 1.用户模块管理:用户登录、用户注册、用户的查询、添加、删除操作、 2.客户信息管理:.客户列表的展示、添加、修改、删除操作、 3.供应商管理:供应商详情…

Android MVVM之ViewModel的详解与使用

一、介绍 ViewModel 类是一种业务逻辑或屏幕级状态容器。它用于将状态公开给界面,以及封装相关的业务逻辑。 它的主要优点是,它可以缓存状态,并可在配置更改后持久保留相应状态。这意味着在 activity 之间导航时或进行配置更改后(…

【UE4 第一人称射击游戏】45-使用线追踪进行破坏

上一篇:【UE4 第一人称射击游戏】44-瞄准时的武器线追踪步骤:打开“Weapon_Base”删除打印节点添加如下节点,表示追踪线命中目标时执行的逻辑对上面逻辑的解释:首先追踪线命中目标后,显示红色的那个准心然后让目标的健…

阿里云 - MaxCompute研究

一、官方介绍MaxCompute是适用于数据分析场景的企业级SaaS(Software as a Service)模式云数据仓库,提供离线和流式数据的接入,支持大规模数据计算及查询加速能力。MaxCompute适用于100 GB以上规模的存储及计算需求,最大…

全国青少年软件编程(Scratch)等级考试一级考试真题2022年12月——持续更新.....

1.小明想在开始表演之前向大家问好并做自我介绍,应运行下列哪个程序?( ) A. B. C. D. 正确答案:D 答案解析: 外观积木配合显示时间,才能看清楚内容。 2.舞台有两个不同的背景,小猫角色的哪个积木能够切换舞台背景?( ) A.<

UVC静态杀菌模组的工作原理及应用

现代紫外线消毒技术是基于现代防疫学、光学、生物学和物理化学的基础上&#xff0c;利用特殊设计的高效率&#xff0c;高强度和长寿命的C波段紫外光发生装置&#xff0c;产生的强紫外C光照射空气或物体表面&#xff0c;当空气或固体表面中的各种细菌、病毒、寄生虫、水藻以及其…

C/C++ 三维数组和二维数组指针的结合

示例程序&#xff1a;#include <iostream> #include <stdio.h> int main() {int a[3][4] {{1,2,3,4},{2,3,4,5},{3,4,5,6}};int b[3][4] {{10,11,12,13},{11,12,13,14},{12,13,14,15}};int(*aa[2])[4] { a,b };int* p1[3] {a[0],a[1],a[2]};int* p2[3] {b[0],…

小学三年级奥数(和差倍问题)

例题5&#xff1a;学校合唱团成员中,女生人数是男生的3倍,而且女生比男生多80人&#xff0c;合唱团里男生有多少人&#xff1f;女生有多少人&#xff1f;思路分析&#x1f604;&#xff1a;抓住关键语句&#xff0c;女生人数是男生的3倍&#xff0c;那么把男生看成1份&#xff…

《图机器学习》-Graph as Matrix:Page Rnak,

Graph as Matrix一、Graph as Matrix二、PageRank三、PageRank&#xff1a;How to solve&#xff1f;四、Random Walk with Restarts and Personalized PageRank五、Matrix Factorization and Node Embedding一、Graph as Matrix 本小节将从矩阵的角度研究图形分析和学习。 把…

centos 一个ip绑定双网卡

nmcli con show (绿正常&#xff0c;黄白不正常) nmcli con del uuid &#xff08;eg&#xff1a;nmcli con del 585bdacc-314f-423e-a935-18295d0fb48b&#xff09; nmcli con add type bond ifname bond0 mode active-backup &#xff08;bond0只是一个名称&#xff0c;可以…

操作系统导论-并发

操作系统导论-并发 一.并发 操作系统为了进程能有多个执行点&#xff0c;为进程提供了一种抽象&#xff1a;线程。线程与进程类似&#xff0c;一个进程中的所有线程共享地址空间&#xff0c;但有自己独立的栈。 1.并发问题 线程的执行顺序也需要操作系统来进行调度。由于线程…

DeViSE:A Deep Visual-Semantic Embedding Model

这篇是2013年文章提出的DeViSEDeViSEDeViSE,主要是综合了传统视觉识别的神经网络和词向量处理word2vecword2vecword2vec中的Skip−gramSkip-gramSkip−gram模型&#xff0c;实现了一个视觉和语义兼顾的ZSLZSLZSL模型&#xff0c;取得了 较好的效果&#xff0c;时至今日&#xf…

【阶段三】Python机器学习21篇:机器学习项目实战:GBDT算法的核心思想、原理概述、原理举例与GBDT回归模型

本篇的思维导图: GBDT算法的核心思想 GBDT是Gradient Boosting Decision Tree(梯度提升树)的缩写。GBDT算法也是一种非常实用的Boosting算法,它与AdaBoost算法的区别在于:AdaBoost算法根据分类效果调整权重并不断迭代,最终生成强学习器;GBDT算法则将损失函数的…

浅聊版本发布

在一般情况下&#xff0c;升级服务器端应用&#xff0c;需要将应用源码或程序包上传到服务器&#xff0c;然后停止掉老版本服务&#xff0c;再启动新版本。但是这种简单的发布方式存在两个问题&#xff0c; &#xff08;1&#xff09;在新版本升级过程中&#xff0c;服务是会暂…

Qt 之 findChild

文章目录一、简述二、原型三、使用示例注意&#xff1a;Widget根据容器的不同寻找的方式不一样比如QWidget_3里面有LineEdit只需要直接找ui.QWidget_3但是如果是QStackWidget里面的化就是直接放ui->stackedDecive2->widget(0)里面就可以了一、简述 在Qt编程过程中&#…

Arm Linux Can

Arm Linux Can一:can-utils 安装二:can-utils 使用can网络关闭can波特率设置查询can0设备的参数设置can网络开启查询工作状态can发送数据can接受数据三:can回环测试四:C语言CAN编程初始化数据结构数据发送错误处理过滤规则回环设置五:Linux 系统中CAN 接口应用程序示例报文发送…

Spring 整合 Redis 的三个简单步骤

一、导入 Redis 依赖 1、导入 Redis 客户端 jar 包依赖 导入 jar 包是需要注意&#xff0c;Redis 是属于 CS 架构模式&#xff0c;服务端需先启动&#xff0c;然后客户端主动去连它。但是客户端怎么去连接服务端呢&#xff1f;这里有两种方式&#xff1a;一种是 Jedis 客户端…

糖果(差分约束+找最小值)

糖果 题目描述 幼儿园里有 n 个小朋友&#xff0c; lxhgww 老师现在想要给这些小朋友们分配糖果&#xff0c;要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心&#xff0c;总是会提出一些要求&#xff0c;比如小明不希望小红分到的糖果比他的多&#xff0c;于是在分配糖果…

区块链技术相关概述

第一节区块链技术相关概述一、区块链定义区块链其实就相当于一个去中介化的数据库&#xff0c;是由一串数据块组成的。狭义&#xff1a;区块链是就是一种按照时间顺序来将数据区块以顺序相连的方式组合成的一种链式数据结构&#xff0c;并以密码学方式保证的不可篡改和不可伪造…