Linux中ps命令使用指南
目录
- 1 前言
- 2 ps命令的含义和作用
- 3 ps命令的基本使用
- 4 常用选项参数
- 5 一些常用情景
- 5.1 查看系统中的所有进程(标准语法)
- 5.2 使用 BSD 语法查看系统中的所有进程
- 5.3 打印进程树
- 5.4 获取线程信息
- 5.5 获取安全信息
- 5.6 查看以 root 用户身份(实际和有效 ID)运行的所有进程,以用户定义格式显示
- 5.7 查看以用户自定义格式显示的所有进程
- 5.8 只打印 syslogd 进程的进程 ID
- 6 ps 与其他命令一起使用
- 7 总结
1 前言
本文将详细介绍在Linux操作系统中广泛使用的ps命令。ps命令代表"process status",是用于查看当前系统运行进程信息的重要工具。通过讲解什么是ps命令及其作用,并深入说明如何使用不同选项参数和结合其他命令,本文旨在帮助读者全面了解并掌握ps命令,使其能够有效地监控和管理系统中正在运行的进程。
2 ps命令的含义和作用
当探索操作系统的进程管理时,ps 命令是 Linux 中最有用且常用的工具之一。作为 process status 的缩写,它提供了深入了解正在系统中运行的进程的能力。通过查看诸如进程 ID(PID)、CPU 使用情况、内存占用、运行时间等详细信息,ps 命令让用户能够全面了解系统中正在运行的活动。
3 ps命令的基本使用
ps 命令的基本语法如下:
ps [选项参数]
可以通过添加不同的选项来获取不同类型的进程信息。
直接输入 ps,显示当前进程:
ps

输出结果包含 4 列信息:PID、TTY、TIME、CMD
- PID:(Process ID)唯一的进程 ID
- TTY:(Teletypewriter)它指的是终端类型或终端设备,用于用户与计算机进行交互的输入输出设备,例如终端窗口或控制台。
- TIME:进程运行过程中占用 CPU 的总时间(以分钟和秒为单位),简单理解就是 CPU 运行这个进程消耗的时间。
- CMD:启动进程的命令的名称
有时候当我们执行 ps 命令时,TIME 显示为 00:00:00。这意味着该进程尚未使用 CPU ,所以没有 CPU 执行的总时间。
对于上面的 bash,就是这种情况,因为 bash 只是其他需要借助 bash 运行的进程的父进程,所以它本身并没有使用 CPU,也就没有 CPU 执行时间了。
4 常用选项参数
以下是一些常用的 ps 命令选项参数
-C cmdlist:按命令名称选择。选择可执行文件名称在cmdlist中的进程。-G grplist:按实际组 ID(RGID)或名称选择。选择实际组名称或 ID 在grplist列表中的进程。-g grplist:按会话或有效组名称选择。按会话选择是多个标准中指定的,但按有效组选择是其他几个操作系统使用的逻辑行为。当列表完全为数字时(因为会话是数字),此ps将按会话选择。仅当指定了一些组名称时,组 ID 数字才会生效。请参阅-s和--group选项。--Group grplist:按实际组 ID(RGID)或名称选择。等同于-G。--group grplist:按有效组 ID(EGID)或名称选择。选择有效组名称或 ID 在grplist中的进程。有效组 ID 描述进程使用其文件访问权限的组(参见getegid(2))。-g选项通常是--group的替代方式。p pidlist:按进程 ID 选择。与-p和--pid相同。-p pidlist:按 PID 选择。选择进程 ID 号出现在pidlist中的进程。与p和--pid相同。--pid pidlist:按进程 ID 选择。与-p和p相同。--ppid pidlist:按父进程 ID 选择。选择具有在pidlist中列出的父进程 ID 的进程。即选择作为这些进程的子进程的进程。q pidlist:按进程 ID 选择(快速模式)。与-q和--quick-pid相同。-q pidlist:按 PID 选择(快速模式)。选择进程 ID 号出现在pidlist中的进程。使用此选项,ps仅为pidlist中列出的 PID 读取必要的信息,并且不应用其他过滤规则。PID 的顺序未排序并保留不变。在此模式下,不允许使用其他选择选项、排序和树型列表。与q和--quick-pid相同。--quick-pid pidlist:按进程 ID 选择(快速模式)。与-q和q相同。-s sesslist:按会话 ID 选择。选择会话 ID 在sesslist中指定的进程。--sid sesslist:按会话 ID 选择。等同于-s。t ttylist:按 tty 选择。几乎与-t和--tty相同,但还可以与空的 ttylist 一起使用,以表示与ps关联的终端。使用T选项被认为比使用带有空 ttylist 的t更清晰。-t ttylist:按 tty 选择。选择与ttylist中给定的终端相关的进程。终端(ttys,或用于文本输出的屏幕)可以用几种形式指定:/dev/ttyS1、ttyS1、S1。可以使用普通的 “-” 来选择未连接到任何终端的进程。--tty ttylist:按终端选择。等同于-t和t。U userlist:按有效用户 ID(EUID)或名称选择。选择有效用户名称或 ID 在userlist中的进程。有效用户 ID 描述进程使用其文件访问权限的用户(参见geteuid(2))。与-u和--user相同。-U userlist:按实际用户 ID(RUID)或名称选择。选择实际用户名称或 ID 在userlist列表中的进程。实际用户 ID 标识创建进程的用户,参见getuid(2)。-u userlist:按有效用户 ID(EUID)或名称选择。选择有效用户名称或 ID 在userlist中的进程。有效用户 ID 描述进程使用其文件访问权限的用户(参见geteuid(2))。与U和--user相同。--User userlist:按实际用户 ID(RUID)或名称选择。等同于-U。--user userlist:按有效用户 ID(EUID)或名称选择。等同于-u和U。
5 一些常用情景
以下是几个示例,展示了不同的 ps 命令用法及其功能:
5.1 查看系统中的所有进程(标准语法)
ps -e
ps -ef
ps -eF
ps -ely
这些命令会显示系统中的所有进程,提供不同的显示格式和详细程度。
5.2 使用 BSD 语法查看系统中的所有进程
ps ax
ps axu
这些命令采用 BSD 风格的语法来显示系统中的所有进程,提供了另一种查看方式。
5.3 打印进程树
ps -ejH
ps axjf
这些命令将打印出进程树,展示进程之间的层级关系。
5.4 获取线程信息
ps -eLf
ps axms
这些命令提供有关线程的信息,展示系统中各个线程的相关数据。
5.5 获取安全信息
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
这些命令提供了安全相关的信息,如进程的用户、标签、安全上下文等。
这些示例展示了 ps 命令不同选项的用法,允许用户根据需求以不同的方式查看并了解系统中运行的进程及相关信息。
5.6 查看以 root 用户身份(实际和有效 ID)运行的所有进程,以用户定义格式显示
ps -U root -u root u
这个命令将显示所有以 root 用户身份(实际和有效 ID)运行的进程,并使用用户定义的格式输出相关信息。
5.7 查看以用户自定义格式显示的所有进程
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
这些命令展示了以用户定义格式显示进程信息的方式。通过指定要显示的字段,用户可以根据自己的需求定制输出格式。
5.8 只打印 syslogd 进程的进程 ID
ps -C syslogd -o pid=
此命令将仅显示 syslogd 进程的进程 ID,过滤出与 syslogd 进程相关的信息。
这些示例展示了在使用 ps 命令时,如何根据不同需求指定特定的选项和格式,以获取所需的进程信息。
6 ps 与其他命令一起使用
ps 命令可以与其他命令通过管道符 | 结合使用,这样可以对 ps 命令的输出结果进行进一步的筛选和处理。例如,结合使用 ps 和 grep 命令,可以通过以下方式过滤出属于 root 用户的进程:
ps -ef | grep root
这个命令的含义是,首先执行 ps -ef 获取系统中所有进程的详细信息,然后将这些信息通过管道 | 传递给 grep 命令。grep root 表示使用 grep 命令匹配包含关键词 root 的行(即属于 root 用户的进程信息),并将这些匹配到的行显示在终端上。
7 总结
了解 ps 命令的使用方式可以帮助系统管理员和用户监视系统资源的使用情况,诊断问题以及优化系统性能。它是管理和了解 Linux 系统中进程状态的重要工具之一。
通过深入了解 ps 命令的基本语法和常用选项,以及它与其他命令结合使用的方法,用户可以更好地掌握如何利用这个强大的工具来管理系统进程,并更全面地了解系统的运行状态。
相关文章:
Linux中ps命令使用指南
目录 1 前言2 ps命令的含义和作用3 ps命令的基本使用4 常用选项参数5 一些常用情景5.1 查看系统中的所有进程(标准语法)5.2 使用 BSD 语法查看系统中的所有进程5.3 打印进程树5.4 获取线程信息5.5 获取安全信息5.6 查看以 root 用户身份(实际…...
PHP开发语言中,网页端常用的标签
在PHP开发语言中,网页端常用的标签包括以下几种: <html>:用于定义整个HTML文档。<head>:用于定义文档的头部,包含元数据、样式表和脚本等。<title>:用于定义文档的标题,显示…...
Java 入门第四篇 集合
Java 入门第四篇 集合 一,什么是集合 在Java中,集合(Collection)是一种用于存储和操作一组对象的容器类。它提供了一系列的方法和功能,用于方便地管理和操作对象的集合。集合框架是Java中非常重要和常用的一部分&…...
VBA技术资料MF93:将多个Excel表插入PowerPoint不同位置
我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…...
STM32 MCU的易坑点收集
IIC配置中的Clock No Stretch Mode Clock Stretch Mode时钟延长模式: 时钟延长是一个术语,某些从设备可以把时钟线拉低,主设备发现自己释放时钟线之后时钟线还没有变成高电平,就会停止发送数据,然后等待从设备释放时钟…...
Vue3项目filter.js组件封装
1、element-plus(el-table)修改table的行样式 export function elTableRowClassName({ row, rowIndex }) {if (rowIndex % 2 ! 0) {return default-row} }2、时间戳转换格式 export function parseTimeFilter(dateTime, dateType) {if (dateTime || dateTime undefined ||…...
Linux: pwd命令查看当前工作目录
pwd 是 Linux 和其他类 Unix 操作系统中的一个命令,用于显示当前工作目录的绝对路径。 语法 pwd 描述 pwd 是 "print working directory" 的缩写,它用于打印当前工作目录的完整路径。这对于确定当前目录位置非常有用,特别是在嵌…...
【深度学习】PHP操作mysql数据库总结
一.PHP数据库的扩展分类 1.MySQL 扩展是针对 MySQL 4.1.3 或更早版本设计的,是 PHP 与 MySQL数据库交互的早期扩展。由于其不支持 MySQL 数据库服务器的新特性,且安全性差,在项目开发中不建议使用,可用 MySQLi 扩展代替。 2.MySQ…...
【送书活动】探究AIGC、AGI、GPT和人工智能大模型
文章目录 前言01 《ChatGPT 驱动软件开发》推荐语 02 《ChatGPT原理与实战》推荐语 03 《神经网络与深度学习》推荐语 04 《AIGC重塑教育》推荐语 05 《通用人工智能》推荐语 后记赠书活动 前言 人工智能技术在过去几年中发展迅猛,得益于大数据、云计算、深度学习等…...
Apple Find My「查找」认证芯片找哪家,认准伦茨科技ST17H6x芯片
深圳市伦茨科技有限公司(以下简称“伦茨科技”)发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家,该平台提供可通过Apple Find My认证的Apple查找(Find My)功能集成解决方案。…...
java.lang.IllegalArgumentException: Could not resolve placeholder XXX‘ in value
问题描述 使用Springcloudalibaba的nacos作为配置中心,服务启动时报错: java.lang.IllegalArgumentException: Could not resolve placeholder XXX‘ in value java.lang.IllegalArgumentException: Param ‘serviceName’ is illegal, serviceName is …...
自动机器学习是什么?概念及应用
自动机器学习 (Auto Machine Learning) 的应用和方法 随着众多企业在大量场景中开始采用机器学习,前后期处理和优化的数据量及规模指数级增长。企业很难雇用充足的人手来完成与高级机器学习模型相关的所有工作,因此机器学习自动化工具是未来人工智能 (A…...
el-date-picker限制选择7天内禁止内框选择
需求:elementPlus时间段选择框需要满足:①最多选7天时间。②不能手动输入。 <el-date-picker v-model"timeArrange" focus"timeEditable" :editable"false" type"datetimerange" range-separator"至&qu…...
Navicat 技术指引 | 适用于 GaussDB 分布式的调试器
Navicat Premium(16.3.3 Windows 版或以上)正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结…...
人工智能导论习题集(3)
第五章:不确定性推理 题1题2题3题4题5题6题7题8 题1 题2 题3 题4 题5 题6 题7 题8...
2023一起益企广东省中小企业数字化赋能活动(深圳站)成功举办
12月12日,由广东工业和信息化厅指导,广东省中小企业服务中心、深圳市中小企业服务局主办,深圳联通承办的2023年“一起益企”广东省中小企业数字化赋能专项对接志愿服务活动(深圳站)在深圳成功举办。 本次活动涵盖中小企…...
MySQL之创建表
创建emp表 #创建表的练习 -- 字段 属性 -- Id 整形 -- name 字符型 -- sex 字符型 -- birthday 日期型 -- entry_date 日期型 -- job 字符型 -- Salary 小数型 -- resume 文本型 CREATE TABLE emp(id INT,name VARCHAR(32),sex CHAR(1),birthday DATE,entry_date DAT…...
选择大于努力-鸿蒙开发应用不适合当前企业的现状态(头部应用除外)推荐一套款平台框架可以写安卓iOS 鸿蒙为企业开源节流
1。从目前各种app平台以及个人原生安卓开发走来的经验看来,原生app开发存在一下问题也是国内现状的情况 1.开发成本高比如原生安卓你需要掌握一种语言Java或者kotlin ios开发需要oc 或者swift 2.app开发出来推广成本,一般企业吃不消 3.开发维护成本好…...
2023.12.12 关于 Java 反射详解
目录 基本概念 定义 用途 反射相关的类 反射基本原理 Class 类中的相关方法 常用获得类相关的方法 常用获得类中属性相关的方法 常用获得类中构造器相关的方法 常用获得类中方法相关的方法 实例理解 反射优缺点 基本概念 定义 Java 的反射(reflection&a…...
【Qt QML入门】Image
Image类型显示一个图像。 使用source属性将图像的源指定为URL。图像可以以Qt支持的任何标准图像格式提供,包括位图格式,如PNG和JPEG,以及矢量图形格式,如SVG。 如果没有指定宽度和高度属性,图像将自动使用加载图像的大…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
书籍“之“字形打印矩阵(8)0609
题目 给定一个矩阵matrix,按照"之"字形的方式打印这个矩阵,例如: 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为:1,…...
