PS命令、procfs

Linux进程管理与性能监控:从ps/top命令到系统调优实战 在操作系统和Linux系统管理中,进程是程序执行的实例,是系统资源分配和调度的基本单位。理解进程的本质及其生命周期状态(如运行、睡眠、僵尸等),是进行系统监控和性能优化的基础。通过进程管理,可以实时掌握系统资源(CPU、内存、I/O)的消耗情况,快速定位性能瓶颈,这对于保障服务器稳定性和应用性能至关重要。在Linux环境下,ps命令提供了进程状态的静态快照,便于精准过滤和脚本处理;而top/htop命令则提供了动态的实时监控仪表盘,能直观展示系统负载、CPU使用率细分及I/O等待等关键指标。掌握这些核心工具 阅读详情

进程的UID和GID

进程的PID

  • 创建进程时系统为每一个进程自动分配一个整数,用于进程身份识别
  • 每个进程的PID在内核中是唯一的,不能重复
  • PID资源有限:cat /proc/sys/kernel/pid_max
  • PPID:该进程父进程的ID号
  • ps -O pid,ppid,tty,cmd //这样能显示终端更多信息
  • ps -a:显示所有终端所有用户正在运行的进程

进程UID和GID

进程与UID之间的关系

  • 每一个进程与用户、用户组相关联
    • 进程必须以适合的用户和组运行
    • 运行进程的用户ID即该进程的UID
    • 该UID和GID表示进程资源访问,操作权限
  • 进程的各种ID
    • RUID:实际用户ID。运行该进程的那个登录用户ID,一般会继承父进程,子进程可通过setuid修改
    • EUID:有效用户ID。当前进程所使用的用户ID,一般等于RUID,用于权限验证
    • SUID:设置用户ID。父进程原先的有效ID(执行setuid之前),子进程会继承并将其设置为有效用户ID

通过ps命令查看进程资源

ps命令

  • -A/-e:显示系统所有的进程(包括守护进程),相当于-e
  • -a:显示所有终端下的所有用户运行的进程
  • -u:显示用户名,CPU百分比和内存的使用
  • -x/-f:列出进程的详细信息
  • -H:显示进程树
  • -r: 只显示正在运行的进程
  • -o:不分类输出
  • 监视进程:top

通过proc查看进程资源

procfs文件系统

  • Linux内核:一切皆文件,ps命令也是从proc文件读取数据
  • profs是Linux内核中一个特殊的文件系统,以/proc目录形式呈现
  • 应用程序可通过/proc下的文件接口对驱动和内核信息进行访问
    • 获取内核信息、硬件设备信息、进程信息
    • 设置内核参数、控制开关

进程资源

通过proc查看进程资源

  • 进程对应的可执行文件名字
  • 环境变量、CPU、内存相关信息
  • 进程的上下文环境、堆栈
  • 进程状态
  • 进程打开的文件列表
    • 通过ps -a
    • cd /proc
    • ls
    • 找到进程pid,cd 进程号
文件说明
cmdline以\O分割的命令行参数
cmd指向当前工作目录的符号链接
environNAME=value键值对环境列表,以\0分隔
exe指向正在执行文件的符号链接
fd文件目录
maps内存映射
mem进程虚拟内存
mounts进程的安装点
root指向根目录的符号链接
status进程的各种信息:PID、内存使用量、信号
task进程中的每一个线程均包含一个子目录
Linux核心命令原理与应用:从文件操作到系统监控的深度解析 这次我们来看 Linux 核心命令。对于开发者、运维工程师或任何需要在服务器、嵌入式设备或开发环境中工作的人来说,Linux 命令行是绕不开的基石。很多人可能已经会使用 ls 、 cd 、 ps 等命令,但你是否真正理解它们背后的工作原理?为什么 rm -rf / 如此危险? grep 是如何在瞬间搜索海量文本的?理解这些,不仅能让你用得更顺手,更能让你在排查复杂问题时游刃有余。 这篇文章的目标很直接: 从使用到原理,一次讲清 Linux 核心命令 。我们不只罗列命令语法,更会深入到文件系统、进程管理、网络 阅读详情

相关推荐

Linux命令行核心原理与实战:从基础命令到系统运维全解析

在服务器运维、开发部署乃至日常办公中,Linux 命令行是绕不开的核心技能。很多朋友可能对 ls 、 cd 、 ps 等命令耳熟能详,但遇到复杂场景或性能排查时,往往知其然而不知其所以然,只能临时搜索“命令大全”。本文旨在打破这种局面,不仅讲解最核心命令的用法,更深入其工作原理和设计哲学,让你从“会敲命令”进阶到“懂其原理”,从而能举一反三,高效解决实际问题。 本文适合所有阶段的 Linux 使用者:初学者可以系统构建知识体系;有一定经验的开发者可以深化理解,提升排错和优化能力;运维工程师则能巩固基础,更精

weixin_30846347的博客 308

Linux查看进程信息——ps指令/proc文件

Linux查看进程信息——ps指令/proc文件夹 Linux根据进程PID查看进程信息

qq_50001789的博客 2379

记录一次小项目中的重放攻击与解决方案

文章目录1、重放攻击简介2、重放攻击演示3、解决方案4、重放攻击验证 欢迎各位 前(提)来(出)讨(意)论(见)。 1、重放攻击简介 重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。 举个简单的小例子。 我们往系统里面插入一条数据,如果此次操作的数据包被攻击者获取,又恰巧后台没有对重复内容进行验证,那么攻击者就可以利用该数据包重复的发起请求,无限制的往数据库插入数据,即使请求包是加密的也

fiveSix 8725

ps命令 & proc文件系统

ps命令 & proc文件系统 ps 查询所有的进程: ps -ef | head -1 && ps -ef | grep "进程名" # 显示所有的进程,显示的项目有:UID,PID,PPID,C,STIME,TTY,TIME,CMD 或 ps auxf | head -1 && ps auxf grep "进程名" # 显示所有的进程...

java小兵 1513

Robosuite实战:通过Xbox手柄实现机械臂6-DoF精准控制的完整指南

本文详细介绍了如何通过Xbox手柄实现机械臂的6-DoF精准控制,结合Robosuite仿真环境与MuJoCo物理引擎,提供从环境配置到代码实现的完整指南。文章重点解析了手柄映射原理、核心控制代码以及数据采集优化技巧,帮助开发者高效完成机械臂控制任务。

weixin_29169505的博客 419

1.深入浅出:理解三极管截止、放大和饱和状态!——参考《模拟电子技术基础》清华大学华成英主讲

幼儿园水平理解三极管截止、放大和饱和状态!书上看不懂,听课听不懂的过来! 绕不开的三极管结构 以NPN为例,晶体三极管的结构,这是很多人不想看的,但是确实是非常重要的!不看结构是理解不了工作原理的! (这样记忆:N是negative,负,代表多子为电子;P是positive,正,代表多子为空穴) 注意观察三极管的结构,有助于理解工作时的状态。 两张图结合起来看,略作解释: 1.图中空心为空穴带正...

Hardware_harder的博客 4万+

Procfs (一) /proc/* 文件解析

Procfs /proc/* 文件解析

phone1126的专栏 4431

知识图谱设计简记

知识图谱是一种语义化的知识表示框架,通过实体-关系-属性三元组形式表达现实世界关联。其核心价值在于关联化整合数据、支持可解释性推理和赋能智能化应用。知识图谱可分为通用型和领域型两类,基本构成包括实体、关系、属性等基础元素,以及本体和实例等架构层元素。设计方法主要有自上而下、自下而上和混合式三种,需遵循业务导向、一致性等原则。在建模时需要明确属性与实体的判断标准,规范处理关系的方向性与对称性,并合理构建多重关系。主流技术框架如RDF和属性图体系均支持多重关系建模,选择需考虑业务需求。本体作为知识图谱的概念骨架

生活在别处 352

procps 获取进程信息

最近在使用wazuh时,发现在收集agent端的进程信息的时候,使用了一个第三方库 procps来处理/proc下面的信息的。 使用方式 1:调用openproc进行初始化,设置需要收集的信息标志;创建PROCTAB对象; 2:调用readproc循环读取数据,每次遍历需要调用freeproc释放资源; 3:最后调用closeproc,也是释放资源比如关闭打开的目录; 看一下 w...

guoguangwu的专栏 1867

C# Modbus通信从入门到精通(2)——Modbus RTU协议原理

本文详细的介绍了Modbus RTU协议的原理,由多年经验高级工程师实战总结而成,绝对干货!

qq_34059233的博客 6382

Docker 环境 Playwright MCP 部署全流程指南

Docker部署Playwright MCP全流程指南 本文详细介绍了使用Docker容器化部署Playwright MCP的完整流程,涵盖镜像拉取、容器启动、配置优化和问题排查。主要内容包括: 核心部署步骤:通过官方镜像快速搭建环境,支持自定义端口和数据持久化 关键配置要点:详解网络设置、持久化目录挂载和环境变量配置 服务验证方法:通过日志检查和服务连通性测试确保部署成功 客户端集成:提供VS Code等IDE的配置示例 常见问题解决:针对浏览器启动超时、跨域限制等问题给出解决方案 实战案例:演示自动化爬

勤奋的码农 1473

通过 /proc/[pid]/ 查看进程状态

参考资料[/proc官方手册] http://man7.org/linux/man-pages/man5/proc.5.html [解读/proc/$PID/status中各种参数] https://my.oschina.net/aiguozhe/blog/125477 [查看Linux & Android中内存占用方法] http://blog.youkuaiyun.com/myarrow/article

www.wowothink.com的专栏 1万+

Visual Studio Code ADT Extension 能不能连接 ECC,答案是可以,但真正的门槛在 ABAP 后端版本

Visual Studio Code 版 ABAP Development Tools(ADT)支持连接传统 SAP ECC 系统,关键不在于系统名称,而在于底层 SAP NetWeaver AS ABAP 版本是否达到最低要求(7.31 SP04 及以上)。只要系统已支持 Eclipse ADT,即可无缝使用 VS Code ADT,无需升级后端。SAP 通过复用原有 ADT 技术栈,将兼容性逻辑置于客户端,实现对老系统的持续支持。尽管初期侧重 ABAP Cloud 模型,但 1.1 及后续版本已全面覆盖

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 46

闫刚 nuttx ps命令在全局变量和procfs实现的对比

文章目录nuttx的ps命令实现原理在没有添加proc虚拟文件系统实现方式Nuttx的proc文件系统nsh命令中实现"ps"命令实现实例 nuttx的ps命令实现原理 在没有添加proc虚拟文件系统实现方式 实现方法主要通过获取全局变量的值进行获取系统的状态,nuttx版本是NuttX-6.27 int cmd_ps(FAR struct nsh_vtbl_s *vtbl, int argc...

yangang185的博客 598

亚马逊爬虫实战:中国商家信息(电话)爬取

import os), # 保存图片的路径# 搜索关键词"keywords":["毛巾","衣服"],"product_number": 1000000000000000, # 分页获取数量# 和url一一对应 个数要一样"remarks": ["备注1"],# 以下内容非专业人员请勿更改,请找开发人员更改. 对应的是amazon_product_url_setting文件中名称.},

youbingchen的博客 1522

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

linux ps -a与-e的区别

摘要:ps -a 和 ps -e 的主要区别在于进程筛选逻辑。-a选项会排除无终端进程和会话首进程,仅显示与终端交互的进程;而-e会显示系统所有进程,包括守护进程和内核线程。实验表明ps -a会过滤掉如nohup启动的后台进程,而ps -e会全部显示。常见误区包括认为-a仅显示当前用户进程(实际显示所有用户进程)或混淆-A与-e(在Linux中完全等价)。组合-f可显示完整格式,如常用命令ps -ef。

刘伟的博客 518

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Linux procfs详解

1.0 proc文件系统总览  在类Unix系统中体现了一种良好的抽象哲学,就是几乎所有的数据实体都被抽象成一个统一的接口--文件来看待,这样我们就可以用一些简单的基本工具完成大量复杂的操作。在Linux中存在着一类 特殊的伪文件系统,用于使用与文件接口统一的操作来完成各种功能,例如ptyfs、devfs、sysfs和procfs。而procfs就是其中应用最广泛的一种伪文件系统。  proc

pumpkinhill的专栏 615

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

深入解析Linux命令与内核交互机制

Linux系统调用是用户空间与内核空间通信的桥梁,通过syscall接口实现资源访问和控制。理解命令背后的内核交互原理,能有效提升系统调试和性能优化能力。以ps、ls等常见命令为例,它们通过/proc文件系统和VFS层与内核交互,涉及进程管理、文件操作等核心子系统。掌握strace、perf等工具的使用方法,可以深入分析系统调用过程,定位I/O瓶颈、内存泄漏等生产环境问题。本文通过典型场景演示,揭示Linux命令如何通过task_struct、inode等内核数据结构完成实际工作。

weixin_30983353的博客 230

代码如何隐藏 Linux 进程

总有朋友问隐藏Linux进程的方法,我说你想隐藏到什么程度,是大隐于内核,还是小隐于用户。 网上通篇论述的无外乎 hook 掉 procfs 或者类似的用户态方案,也都难免长篇大论,我说,这些场面都太大了,太复杂了。对于希望马上看到效果的而言,看到这么一堆复杂的东西,大概率望而却步。 本文介绍一种将Linux进程小隐于用户的非常规方法,仅仅一行代码: 修改掉进程的pid即可。 注意是小隐,所以,不值得反制,逗一下高级会议工程师搞个恶作剧玩玩得了。 target->pid = 0x7fffffff;完

coderOnline的博客 184

linux进程隐藏,一行代码教你如何隐藏Linux进程

总有朋友问隐藏Linux进程的方法,我说你想隐藏到什么程度,是大隐于内核,还是小隐于用户。网上通篇论述的无外乎hook掉procfs或者类似的用户态方案,也都难免长篇大论,我说,这些场面都太大了,太复杂了。对于希望马上看到效果的而言,看到这么一堆复杂的东西,大概率望而却步。本文介绍一种将Linux进程小隐于用户的非常规方法,仅仅一行代码:修改掉进程的pid即可。注意是小隐,所以,不值得反制,逗一下...

weixin_42300798的博客 624

一行代码如何隐藏 Linux 进程?

点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文n prosperity, our friends know us;In...

程序员小乐 633

Linux面试核心:从命令记忆到系统化排查与性能优化实战

在服务器运维和后台开发领域,Linux操作系统是工程师必须掌握的核心技能。其重要性源于它是理解计算机系统工作原理的基石,涉及进程管理、内存分配、文件系统和网络通信等基础概念。掌握Linux不仅意味着会使用命令,更在于理解其背后的原理,例如通过进程状态分析系统负载,利用虚拟文件系统(/proc)洞察内核运行状态。这种原理层面的理解能直接转化为技术价值,即快速定位线上故障、优化系统性能、保障服务稳定性。在实际应用场景中,无论是分析服务器响应延迟,还是排查容器化环境下的资源瓶颈,都需要一套结构化的排查思路:从to

weixin_30340819的博客 437

Linux proc详解

Linux procfs详解 1.0 proc文件系统总览 在类Unix系统中体现了一种良好的抽象哲学,就是几乎所有的数据实体都被抽象成一个统一的接口--文件来看待,这样我们就可以用一些简单的基本工具完成大量复杂的操作。在Linux中存在着一类 特殊的伪文件系统,用于使用与文件接口统一的操作来完成各种功能,例如ptyfs、devfs、sysfs和procfs。而procfs就...

mmdev 132

如何隐藏 Linux 进程

总有朋友问隐藏Linux进程的方法,我说你想隐藏到什么程度,是大隐于内核,还是小隐于用户。 网上通篇论述的无外乎 hook 掉 procfs 或者类似的用户态方案,也都难免长篇大论,我说,这些场面都太大了,太复杂了。对于希望马上看到效果的而言,看到这么一堆复杂的东西,大概率望而却步。 本文介绍一种将Linux进程小隐于用户的非常规方法,仅仅一行代码: 修改掉进程的pid即可。 注意是小隐,所以,不值得反制,逗一下高级会议工程师搞个恶作剧玩玩得了。 target->pid = 0x7fffffff; 完

425

Linux命令从使用到原理:三层结构、核心命令与排查链路深度解析

这类主题最容易写成命令列表,但真正有用的不是记住几百个命令,而是理解命令背后的设计逻辑、使用场景和排查链路。这篇文章不讲“大全”,而是围绕“从使用到原理”这个核心,拆解几个最关键的 Linux 命令,让你知道在什么情况下用什么命令,以及为什么这个命令能给出这样的结果。无论是刚接触 Linux 的新手,还是需要排查线上问题的运维,都能从这种“知其然也知其所以然”的思路里找到抓手。 1. 先别急着背命令:理解 Linux 命令的“三层结构” 很多人学 Linux 命令是从 ls , cd , pwd 开始的,这

weixin_30899023的博客 334
上一篇: Linux进程状态
下一篇: 进程组与会话
Joker......
博客等级 码龄5年 83粉丝 141原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值