当前位置: 首页 > news >正文

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 选择。与 -pp 相同。
  • --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 选择(快速模式)。与 -qq 相同。
  • -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/ttyS1ttyS1S1。可以使用普通的 “-” 来选择未连接到任何终端的进程。
  • --tty ttylist:按终端选择。等同于 -tt
  • 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)或名称选择。等同于 -uU

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 命令的输出结果进行进一步的筛选和处理。例如,结合使用 psgrep 命令,可以通过以下方式过滤出属于 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开发语言中&#xff0c;网页端常用的标签包括以下几种&#xff1a; <html>&#xff1a;用于定义整个HTML文档。<head>&#xff1a;用于定义文档的头部&#xff0c;包含元数据、样式表和脚本等。<title>&#xff1a;用于定义文档的标题&#xff0c;显示…...

Java 入门第四篇 集合

Java 入门第四篇 集合 一&#xff0c;什么是集合 在Java中&#xff0c;集合&#xff08;Collection&#xff09;是一种用于存储和操作一组对象的容器类。它提供了一系列的方法和功能&#xff0c;用于方便地管理和操作对象的集合。集合框架是Java中非常重要和常用的一部分&…...

VBA技术资料MF93:将多个Excel表插入PowerPoint不同位置

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。我的教程一共九套&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到…...

STM32 MCU的易坑点收集

IIC配置中的Clock No Stretch Mode Clock Stretch Mode时钟延长模式&#xff1a; 时钟延长是一个术语&#xff0c;某些从设备可以把时钟线拉低&#xff0c;主设备发现自己释放时钟线之后时钟线还没有变成高电平&#xff0c;就会停止发送数据&#xff0c;然后等待从设备释放时钟…...

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 操作系统中的一个命令&#xff0c;用于显示当前工作目录的绝对路径。 语法 pwd 描述 pwd 是 "print working directory" 的缩写&#xff0c;它用于打印当前工作目录的完整路径。这对于确定当前目录位置非常有用&#xff0c;特别是在嵌…...

【深度学习】PHP操作mysql数据库总结

一.PHP数据库的扩展分类 1.MySQL 扩展是针对 MySQL 4.1.3 或更早版本设计的&#xff0c;是 PHP 与 MySQL数据库交互的早期扩展。由于其不支持 MySQL 数据库服务器的新特性&#xff0c;且安全性差&#xff0c;在项目开发中不建议使用&#xff0c;可用 MySQLi 扩展代替。 2.MySQ…...

【送书活动】探究AIGC、AGI、GPT和人工智能大模型

文章目录 前言01 《ChatGPT 驱动软件开发》推荐语 02 《ChatGPT原理与实战》推荐语 03 《神经网络与深度学习》推荐语 04 《AIGC重塑教育》推荐语 05 《通用人工智能》推荐语 后记赠书活动 前言 人工智能技术在过去几年中发展迅猛&#xff0c;得益于大数据、云计算、深度学习等…...

Apple Find My「查找」认证芯片找哪家,认准伦茨科技ST17H6x芯片

深圳市伦茨科技有限公司&#xff08;以下简称“伦茨科技”&#xff09;发布ST17H6x Soc平台。成为继Nordic之后全球第二家取得Apple Find My「查找」认证的芯片厂家&#xff0c;该平台提供可通过Apple Find My认证的Apple查找&#xff08;Find My&#xff09;功能集成解决方案。…...

java.lang.IllegalArgumentException: Could not resolve placeholder XXX‘ in value

问题描述 使用Springcloudalibaba的nacos作为配置中心&#xff0c;服务启动时报错&#xff1a; java.lang.IllegalArgumentException: Could not resolve placeholder XXX‘ in value java.lang.IllegalArgumentException: Param ‘serviceName’ is illegal, serviceName is …...

自动机器学习是什么?概念及应用

自动机器学习 (Auto Machine Learning) 的应用和方法 随着众多企业在大量场景中开始采用机器学习&#xff0c;前后期处理和优化的数据量及规模指数级增长。企业很难雇用充足的人手来完成与高级机器学习模型相关的所有工作&#xff0c;因此机器学习自动化工具是未来人工智能 (A…...

el-date-picker限制选择7天内禁止内框选择

需求&#xff1a;elementPlus时间段选择框需要满足&#xff1a;①最多选7天时间。②不能手动输入。 <el-date-picker v-model"timeArrange" focus"timeEditable" :editable"false" type"datetimerange" range-separator"至&qu…...

Navicat 技术指引 | 适用于 GaussDB 分布式的调试器

Navicat Premium&#xff08;16.3.3 Windows 版或以上&#xff09;正式支持 GaussDB 分布式数据库。GaussDB 分布式模式更适合对系统可用性和数据处理能力要求较高的场景。Navicat 工具不仅提供可视化数据查看和编辑功能&#xff0c;还提供强大的高阶功能&#xff08;如模型、结…...

人工智能导论习题集(3)

第五章&#xff1a;不确定性推理 题1题2题3题4题5题6题7题8 题1 题2 题3 题4 题5 题6 题7 题8...

2023一起益企广东省中小企业数字化赋能活动(深圳站)成功举办

12月12日&#xff0c;由广东工业和信息化厅指导&#xff0c;广东省中小企业服务中心、深圳市中小企业服务局主办&#xff0c;深圳联通承办的2023年“一起益企”广东省中小企业数字化赋能专项对接志愿服务活动&#xff08;深圳站&#xff09;在深圳成功举办。 本次活动涵盖中小企…...

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平台以及个人原生安卓开发走来的经验看来&#xff0c;原生app开发存在一下问题也是国内现状的情况 1.开发成本高比如原生安卓你需要掌握一种语言Java或者kotlin ios开发需要oc 或者swift 2.app开发出来推广成本&#xff0c;一般企业吃不消 3.开发维护成本好…...

2023.12.12 关于 Java 反射详解

目录 基本概念 定义 用途 反射相关的类 反射基本原理 Class 类中的相关方法 常用获得类相关的方法 常用获得类中属性相关的方法 常用获得类中构造器相关的方法 常用获得类中方法相关的方法 实例理解 反射优缺点 基本概念 定义 Java 的反射&#xff08;reflection&a…...

【Qt QML入门】Image

Image类型显示一个图像。 使用source属性将图像的源指定为URL。图像可以以Qt支持的任何标准图像格式提供&#xff0c;包括位图格式&#xff0c;如PNG和JPEG&#xff0c;以及矢量图形格式&#xff0c;如SVG。 如果没有指定宽度和高度属性&#xff0c;图像将自动使用加载图像的大…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

MySQL用户和授权

开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务&#xff1a; test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...