Linux 进程的 status 注解。

我们知道 Linux 一切都是面向文件的,所以我们可以通过文件来获取到正在运行的ELF程序的状态信息。

本文会注解进程状态里面的各项输出参数的作用,以便于人们在写SH脚本程序的时候可以作为一个参照信息表。

当我们知道了进程ID时可以用这个命令来查看进程的状态信息。

cat /proc/进程ID/status

进程状态信息各项描述:

Name: 进程的名称
Umask: 进程的文件创建掩码
State: 进程的状态,比如运行(R)、睡眠(S)等
Tgid: 线程组ID
Ngid: 保留字段
Pid: 进程ID
PPid: 父进程ID
TracerPid: 跟踪进程的进程ID
Uid: 用户ID
Gid: 组ID
FDSize: 进程打开的文件描述符数量
Groups: 进程所属的附加组
VmPeak: 进程使用的最大虚拟内存大小
VmSize: 进程当前的虚拟内存大小
VmLck: 已锁定的虚拟内存大小
VmPin: 固定的虚拟内存大小
VmHWM: 高峰工作集大小
VmRSS: 实际使用的物理内存大小(常驻集大小)
RssAnon: 匿名内存大小
RssFile: 文件页大小
RssShmem: 共享内存大小
VmData: 数据段大小
VmStk: 栈段大小
VmExe: 可执行代码段大小
VmLib: 共享库大小
VmPTE: 页表条目大小
VmSwap: 交换空间大小
HugetlbPages: 巨大页面大小
CoreDumping: 是否正在进行核心转储
THP_enabled: 是否启用了透明大页面
Threads: 线程数
SigQ: 信号队列信息
SigPnd: 挂起的信号
ShdPnd: 共享挂起的信号
SigBlk: 阻塞的信号
SigIgn: 忽略的信号
SigCgt: 捕获的信号
CapInh/CapPrm/CapEff/CapBnd/CapAmb: 进程的能力限制
NoNewPrivs: 是否禁止创建新特权
Seccomp: 安全计算模块
Speculation_Store_Bypass: 存储旁路漏洞状态
Cpus_allowed/Cpus_allowed_list/Mems_allowed/Mems_allowed_list: CPU和内存掩码
voluntary_ctxt_switches/nonvoluntary_ctxt_switches: 进程切换上下文次数(自愿/非自愿)

观察 pppd 进程状态信息。(例子)

Name:	pppd
Umask:	0022
State:	S (sleeping)
Tgid:	9262
Ngid:	0
Pid:	9262
PPid:	9261
TracerPid:	0
Uid:	0	0	0	0
Gid:	0	0	0	0
FDSize:	512
Groups:	0 
NStgid:	9262
NSpid:	9262
NSpgid:	9261
NSsid:	8517
VmPeak:	  769144 kB
VmSize:	  768856 kB
VmLck:	       0 kB
VmPin:	       0 kB
VmHWM:	   25488 kB
VmRSS:	   21152 kB
RssAnon:	   10964 kB
RssFile:	   10188 kB
RssShmem:	       0 kB
VmData:	  152504 kB
VmStk:	     132 kB
VmExe:	   12788 kB
VmLib:	    3976 kB
VmPTE:	     324 kB
VmSwap:	       0 kB
HugetlbPages:	       0 kB
CoreDumping:	0
THP_enabled:	1
Threads:	10
SigQ:	0/3429
SigPnd:	0000000000000000
ShdPnd:	0000000000000000
SigBlk:	0000000000000000
SigIgn:	0000000000001001
SigCgt:	00000001c180cefe
CapInh:	0000000000000000
CapPrm:	0000003fffffffff
CapEff:	0000003fffffffff
CapBnd:	0000003fffffffff
CapAmb:	0000000000000000
NoNewPrivs:	0
Seccomp:	0
Speculation_Store_Bypass:	not vulnerable
Cpus_allowed:	f
Cpus_allowed_list:	0-3
Mems_allowed:	00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:	0
voluntary_ctxt_switches:	910837
nonvoluntary_ctxt_switches:	232

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

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

相关文章

C++常量和变量

甲流疫情死亡率 甲流并不可怕,在中国,它的死亡率并不是很高。根据截至2009年12月22日各省报告的甲流确诊数和死亡数,计算甲流在各省的死亡率 输入 一行,有两个整数,第1个为确诊数,第2个为死亡数 输出 一…

学习Java的第四天

目录 一、if选择结构 1、基本if选择结构 语法结构: 流程图: 示例: 2、if-else 选择结构 语法结构: 流程图: 示例: 3、多重if选择结构 语法结构: 流程图: 示例&#xff1a…

探秘分布式神器RMI:原理、应用与前景分析(二)

本系列文章简介: 本系列文章将深入探究RMI远程调用的原理、应用及未来的发展趋势。首先,我们会详细介绍RMI的工作原理和基本流程,解析其在分布式系统中的核心技术。随后,我们将探讨RMI在各个领域的应用,包括分布式计算…

【Docker】若依ruoyi项目部署

一 搭建局域网 1 # 搭建net-ry局域网,用于部署若依项目docker network create net-ry --subnet172.68.0.0/16 --gateway172.68.0.1 # 注意1:关闭宿主机的防火墙,否者容器内部的MySQL、redis等服务,外部访问不了;开放…

【REST2SQL】12 REST2SQL增加Token生成和验证

【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 【REST2SQL】05 GO 操作 达梦 数据库 【REST2SQL】06 GO 跨包接口重构代码 【REST2SQL】07 GO 操作 Mysql 数据库 【RE…

如何使用 window 的.bat 完全拷贝一个文件到另外一个文件全部替换

比如你的文件夹是 A 你想拷贝 A的文件到 B并且全部替换 那么你可以这样子做 1.在 window 桌面新建一个文件夹,在这文件里面新建两个文件,文件 A和文件 B 2.然后新建后缀命名为 copy.bat 回车,然后选择编辑这个 copy.bat 你可以使用文本编辑即可; 3.然后你在这个 copy.bat 编…

Docker_搭建跨服务器网络通讯(swarm 集群)

本文目录 一、如何搭建docker的跨服务器网络1、在主服务器上初始化docker swarm 集群2、其他服务器节点加入到创建好的集群中3、检验集群是否搭建成功4、创建overlay类型的docker网络 二、如何部署服务1、docker部署2、docker-compose部署 一、如何搭建docker的跨服务器网络 1…

《小学科学》是什么级别的期刊?是正规期刊吗?能评职称吗?

问题解答: 问:《小学科学》期刊是正规期刊吗? 答:是正规期刊,下面会有具体介绍 问:《小学科学》期刊是什么级别的? 答:省级;主管单位:长春出版传媒集团有…

unicloud 创建云函数并使用云函数

云函数是什么 云函数即在云端(服务器端)运行的函数。 从 HBuilderX 3.4起,新增了云函数的扩展版,云对象。 开发者无需购买、搭建服务器,只需编写代码并部署到云端即可在客户端(App/Web/小程序等&#xf…

【Linux】第一个小程序--进度条

这篇博客要综合利用以前的知识,来实现一个进度条程序~ 目录 换行&回车 缓冲区 实现简单的倒计时 实现进度条 version1 version2 在开始写这个小程序之前,我们先学习一些预备知识: 换行&回车 缓冲区 在我们运行这个程序时&…

git workflow

分支策略 按分支属性分类 主干分支:master特性分支:feature-[序号]、fix-[序号]、hotfix-[序号]开发分支:dev-[序号]-[开发者]发布分支:release-[版本号]部署分支:release(正式)、test&#xf…

如何阅读“计算机界三大神书”之一 ——《计算机程序的构造和解释》SICP

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

如何使用 @font-face 和 font-display 在 CSS 中定义自定义字体

介绍 font-face 是一个 CSS at-rule,用于定义自定义字体。通过 font-face,您可以提供一个路径到与您的 CSS 文件托管在同一服务器上的字体文件。这个规则已经存在了相当长的时间,但是有一个更新的属性 font-display,它带来了新的…

STM32CubeMX学习笔记17--- FSMC

1.1 TFTLCD简介 TFT-LCD(thin film transistor-liquid crystal display)即薄膜晶体管液晶显示器。液晶显示屏的每一个像素上都设置有一个薄膜晶体管(TFT),每个像素都可以通过点脉冲直接控制,因而每个节点都…

论文阅读:Scalable Diffusion Models with Transformers

Scalable Diffusion Models with Transformers 论文链接 介绍 传统的扩散模型基于一个U-Net骨架,这篇文章提出了一种新的扩散模型结构,将U-Net替换为一个transformer,并将这种结构称为Diffusion Transformers (DiTs)。他们还发现&#xff…

python77-Python的函数参数,个数可变参数

很多编程语言都允许定义个数可变的参数,这样可以在调用函数时传入任意多个参数。Python当然也不例外,Python 允许在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入。下面程序定义了一个形参个数可变的函数。 # !/usr/bin/env pyth…

数据分析 - 面经 - 联蔚数科

2024.1.9 面试 Boss直聘沟通 先简单做下自我介绍吧 你项目中设计的技术选型,你都有使用过是吗? 这个项目的团队规模介绍一下 在数据部分,详细讲一下主要工作,在数据采集,处理等方面 这些工具是学校教的呢&#x…

阿里云服务器使用教程_2024建站教程_10分钟网站搭建流程

使用阿里云服务器快速搭建网站教程,先为云服务器安装宝塔面板,然后在宝塔面板上新建站点,阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例,来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

requests模块的其他方法

requests模块的其他方法 学习目标 掌握requests中cookirJar的处理方法掌握requests解决https证书错误的问题掌握requests中超时参数的使用掌握retrying模块的使用 1 requests中cookirJar的处理方法 使用request获取的resposne对象,具有cookies属性,能够…

Vscode连接远程服务器失败解决方案

一、 could not establish connection to “XXX” 尝试使用Remote-SSH插件连接远程的服务器,但是配置显示出错,端口显示试图写入的管道不存在,弹出窗口显示could not establish connection to “XXX” 二、检查Windows的OpenSSH 1.检索是否…