Linux 命令 ps aux 命令解析

2023-11-03

一、简介

  • PSLinux 系统命令之一,在 Linux 中是查看进程的命令。查看正处于 Running 的进程。

  • linux 上进程有 5 种状态:

    运行:正在运行或在运行队列中等待

    中断:休眠中,受阻,在等待某个条件的形成或接收到信号

    不可中断:收到信号不唤醒和不可运行,进程必须等待直到有中断发生

    僵死:进程已终止,但进程描述符存在,直到父进程调用 wait4() 系统调用后释放

    停止:进程收到 SIGSTOPSIGSTPSIGTINSIGTOU 信号后停止运行运行

  • 查看所有进程

    $ ps aux
    
  • 杀死指定进程

    $ sudo kill -9 PID PID ....
    
  • 过滤找到指定进程

    $ ps -aux | grep mysql
    

二、属性介绍

  • 常用属性列表

    # 显示现行终端机下的所有程序,包括其他用户的程序。
    $ ps a
    # 显示所有程序。
    $ ps -A
    # 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
    $ ps c
    # 此参数的效果和指定 "A" 参数相同。
    $ ps -e
    # 列出程序时,显示每个程序所使用的环境变量。
    $ ps e
    # 用 ASCII 字符显示树状结构,表达程序间的相互关系。
    $ ps f
    # 显示树状结构,表示程序间的相互关系。
    $ ps -H
    # 显示所有的程序,除了执行ps指令终端机下的程序之外。
    $ ps -N
    # 采用程序信号的格式显示程序状况。
    $ ps s
    # 列出程序时,包括已中断的子程序资料。
    $ ps S
    # 指定终端机编号,并列出属于该终端机的程序的状况。
    $ ps -t <终端机编号>
    # 以用户为主的格式来显示程序状况。
    $ ps u
    # 显示所有程序,不以终端机来区分。
    $ ps x
    # 较长,较详细的显示该PID的信息
    $ ps -l
    
  • $ ps -lA | more

    F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
    
    4 S 0 1 0 0 76 0 - 1193 109952 ? 00:00:03 init
    
    1 S 0 2 1 0 -40 - - 0 migrat ? 00:00:03 migration/0
    
    1 S 0 3 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/0
    
    1 S 0 4 1 0 -40 - - 0 migrat ? 00:00:02 migration/1
    
    1 S 0 5 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/1
    
    1 S 0 6 1 0 -40 - - 0 migrat ? 00:00:02 migration/2
    
    1 S 0 7 1 0 94 19 - 0 ksofti ? 00:00:00 ksoftirqd/2
    

    上面相关字段含义:

    F:进程的标志(flag)4 表示用户为超级用户

    S:进程的状态(stat),各 STAT 的意义见下文

    PID:进程的 ID

    CCPU 使用资源的百分比

    PRIpriority(优先级)的缩写

    NI:进程的 NICE 值,数值大,表示较少占用CPU时间

    ADDR:核心功能,指出该进程在内存的那一部分,如果是运行的进程,一般都是 -

    SZ:用掉的内存的大小

    WCHAN:当前进程是否正在运行,若为 - 表示正在运行

    TTY:登陆者的终端位置

    TIME:用掉的CPU的时间

    CMD:所执行的指令

  • $ ps aux | more

    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    
    root 1 0.0 0.0 4772 564 ? S Sep22 0:03 init [3]
    
    root 2 0.0 0.0 0 0 ? S Sep22 0:03 [migration/0]
    
    root 3 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/0]
    
    root 4 0.0 0.0 0 0 ? S Sep22 0:02 [migration/1]
    
    root 5 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/1]
    
    root 6 0.0 0.0 0 0 ? Ss+ Sep22 0:02 [migration/2]
    
    root 7 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/2]
    
    root 8 0.0 0.0 0 0 ? S Sep22 0:00 [migration/3]
    
    root 9 0.0 0.0 0 0 ? SN Sep22 0:00 [ksoftirqd/3]
    
    root 10 0.0 0.0 0 0 ? S< Sep22 0:00 [migration/4]
    

    上面相关字段含义:

    USER:进程的属主

    PID:进程的ID

    PPID:父进程

    %CPU:进程占用的CPU百分比

    %MEM:占用内存的百分比

    NI:进程的 NICE 值,数值大,表示较少占用 CPU 时间

    VSZ:进程使用的虚拟內存量(KB)

    RSS:该进程占用的固定內存量(KB)(驻留中页的数量)

    TTY:该进程在那个终端上运行(登陆者的终端位置),若与终端无关,则显示(?),若为 pts/0 等,则表示由网络连接主机进程

    WCHAN:当前进程是否正在进行,若为-表示正在进行

    START:该进程被触发启动时间

    TIME:该进程实际使用CPU运行的时间

    COMMAND:命令的名称和参数

    STAT:状态位常见的状态字符

    D:无法中断的休眠状态(通常 IO 的进程)

    R 正在运行可中在队列中可过行的

    S:处于休眠状态

    T:停止或被追踪

    W:进入内存交换 (从内核 2.6 开始无效)

    X:死掉的进程 (基本很少見)

    Z:僵尸进程

    <:优先级高的进程

    N:优先级较低的进程

    L:有些页被锁进内存

    s:进程的领导者(在它之下有子进程)

    l:多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads

    +:位于后台的进程组

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 命令 ps aux 命令解析 的相关文章

  • 尽管 EXPORT_SYMBOL 模块插入时出现“模块中的未知符号”

    我正在尝试编译并插入 r8169 realtek 以太网驱动程序 我的内核版本是 ebin sony uname r 4 2 0 rc3 custom 我的本地磁盘中有相同的完整源代码 用于安装当前的内核 当我运行时该模块编译成功make
  • gai_cancel() 需要很长时间才能成功

    我正在尝试在 C 中异步查找域 原因是我希望能够有效地添加超时期限 以防系统无法查找域 我遇到了 getaddrinfo a 命令 所以我决定尝试一下 然而 在我的机器上取消任何不会成功的 dns 查找 例如没有互联网连接时 永远不会花费少
  • python中的多服务器监控/自动重启

    我有 2 个服务器程序 必须使用 GNU Screen 启动 我想使用基于 Python 的程序来强化这些服务器 防止崩溃 该程序启动每个屏幕会话 然后监视服务器进程 如果服务器进程崩溃 我需要 python 代码来终止无关的屏幕会话并再次
  • c - 后台运行的程序的退出状态

    我有一个任务 其中我必须创建一个迷你 shell 它能够执行很多操作 包括作业控制 我设法使用 fork 和 execvp 创建新的工作 但我还想获取 execvp 运行的程序的退出代码 根据我从其他帖子中查找到的内容 我可以使用以下方法来
  • SDL/C++ OpenGL 程序,如何阻止 SDL 捕获 SIGINT

    我在用SDL http www libsdl org 用于在 Linux 上运行的 OpenGL 应用程序 我的问题是 SDL 正在捕获 SIGINT 并忽略它 这是一个痛苦 因为我正在通过屏幕会话进行开发 并且我无法使用 CTRL C 终
  • top命令的CPU使用率计算

    我正在尝试使用 GNU coreutil top 的公式来计算 CPU 使用率的百分比 但 top 正在使用一些 half total 来计算百分比 即在百分比上添加 0 5 在top的utils c中 以下行 在 3 8 beta1 中
  • 检测目录中是否有某些内容被修改,如果是,则备份 - 否则不执行任何操作

    我有一个 数据 目录 我通过 shell 脚本定期同步到远程 NAS 但是 我想让这变得更有效率 我想在运行 rsync 之前检测 数据 中是否发生了变化 这样我就不会不必要地唤醒 NAS 上的驱动器 我正在考虑修改 shell 脚本以获取
  • 如何安装 Node 和 NPM 以便不必使用 sudo?

    我正在尝试在 Ubuntu 14 04 计算机上设置 Node js 和 NPM 但遇到了一些问题 在我的第一次尝试中 我不断得到EACCES尝试安装软件包时出错 有时甚至使用sudo 所以我彻底卸载了node和npm 现在我正在尝试找出如
  • 如何在不需要设置 LD_LIBRARY_PATH shell 变量的情况下输入“cargo run”?

    我构建了一个 Rust 程序 通过 C 接口调用 C 函数 为了执行该程序 我必须运行 export LD LIBRARY PATH
  • 如何检查QProcess是否正确执行?

    QProcess process sdcompare QString command sdcompare QStringList args sdcompare command sdcompare diff args sdcompare lt
  • ngx_http_brotli_filter_module.so" 与 /etc/nginx/nginx.conf:1 中的二进制不兼容

    Using Nginx 1 17 3 and Nginx 1 14 0在两台独立服务器上的 Ubuntu 18 上 两者都显示相同的错误ngx http brotli filter module so is not binary compa
  • PhoneGap - 构建 PhoneGap Android 应用程序在 Linux 上出现编译错误

    我在我的 linux ubuntu 12 04 机器上构建phonegap android 应用程序时遇到错误 我已经安装了nodejs 将JAVA HOME ANT HOME ANDROID HOME vars和 JAVA HOME bi
  • Linux 和 Windows 上的相同计算 --> 结果不同

    我编写了以下算法来将十进制值转换为二进制 十六进制等 string toFormatFromDecimal long long t Format format int digitCount ceil log t log int format
  • 如何解决错误:psycopg2 构建轮失败?

    我遇到问题了psycopg2 的构建轮子 thru pip install r requirements txt 我使用的是 ubuntu 20 04 python 3 8 5 venv 这是我的要求 txt amqp 2 6 1 anyj
  • Linux 汇编调试器

    我需要一个在 Linux 上进行汇编的调试器 我对 Linux 上缺乏调试器感到非常惊讶 它应该具有各种功能 例如显示寄存器等等 我会使用 GDB 但它对 NASM 不太友好 我宁愿让调试器具有英特尔语法 但我可以做出牺牲 我尝试过 kdb
  • 使用 C++ 更改终端字体大小

    我正在用 C 做一个小项目 在 Ubuntu 11 04 中 该程序是基于文本的 全部在 Gnome 终端中 我正在使用 ncurses 库来更改字体颜色 但我也想将不同大小的文本打印到终端 并且不知道如何使用 ncurses 来做到这一点
  • 在 RPM 规范文件中使用 Jenkins BUILD NUMBER

    Name My Software Version 1 0 5 Release 1 Summary This is my software 不确定是否有人以前尝试过这个或者它是否容易 但是 规范文件的版本有两个独特的指示符 版本 指定软件版本
  • Rsync 制作平面副本

    我正在尝试编写一个脚本 将一个目录 带有子目录 的所有文件复制到另一个目录的根目录 所以想象一下我有这个文件结构 pic JPG PIC5 JPG FOLDER pic2 JPG pic3 JPG FOLDER2 pic4 JPG 我想要该
  • Linux 上的 JavaFX

    Linux x86 和 x64 上的 JavaFX 情况如何 JavaFX 应用程序可以在 Linux 操作系统上顺利执行吗 我发现了 2011 年和 2012 年的一些问题 当时应用程序不稳定 目前发布的 JFX 版本是 2 2 4 在
  • 如何检查 Linux 控制台屏幕保护程序是否黑屏

    有没有办法以编程方式 通过 ioctl 等 或通过读取 sys proc 或 dev 中的文件 检查屏幕是否已被 Linux 控制台屏幕保护程序清空 谢谢并致以最诚挚的问候 G nter 好的 检查了 相关代码部分是 include

随机推荐

  • 如何在php中获取curl请求的请求头信息及相应头信息

    1 获取请求头信息 可以在curl exec函数执行前 添加代码curl setopt ch CURLINFO HEADER OUT true 在curl exec函数执行后 通过 curl getinfo ch CURLINFO HEAD
  • dom模板列表-2

    模板列表
  • TensorRT 初探(1)—— conv2d:IConvolutionLayer

    tensorrt之conv2d计算详解 环境搭建 简介 代码 设置prepadding和postpadding prepadding postpadding与paddingNd冲突时 设置padding mode 总结 附录 环境搭建 环境
  • 浅谈JVM基本结构

    目录 1 JVM概念 2 JVM基本结构 3 JVM存储数据案例 1 JVM概念 JVM是Java Virtual Machine Java虚拟机 的缩写 JVM是一种用于计算设备的规范 它是一个虚构出来的计算机 是通过在实际的计算机上仿真
  • app提交上架最新流程 ios

    一 上架基本需求资料1 苹果开发者账号 公司已有可以不用申请 需要开通开发者功能 每年 99 美元 2 开发好的APP 二 证书上架版本需要使用正式的证书 1 创建证书 Apple Developer 2 上传证书 Sign In Appl
  • css3 隐藏滚动条但是有滚动效果的方法

    前沿 相信好多小伙伴都遇到过这个需求 那就来说一下 原理 就是在滚动区域的外部在套一个盒子 设置外部这个盒子宽比内部的少20px 其实也就是滚动条的宽度 然后在overflow hidden就可以了 接下来看个小例子
  • Unity把png图片转换为sprite格式

    最近自己在做游戏项目 经常碰到导入的图片是png格式 但是要转换为sprite格式才能应用 以下是转换的简单方式 不需要代码的 1选中要转换的png图片 在Inspector窗口查看属性 2在窗口中找到Texture Type选择Sprit
  • Java程序员项目面试

    如何做自我介绍 自我介绍该怎么做 要介绍什么 自我介绍尽可能控制在3分钟以内 关于技术介绍以外例如 性格 爱好等尽可能忽略 自我介绍时应该主要包含下面几个内容 个人信息 15秒 学习经历 30秒 工作经历 2分钟 其中社招工作经历最为重要
  • Python 根据Excel修改文件名称 封装成.exe程序

    目录 前言 一 实验环境 二 实现步骤 1 设计思路 2 引入库 3 具体代码 4 封装成exe程序 5 功能展示 总结 前言 公司想要一个可以在任何一个Windows电脑上能使用的工具 可以根据Excel表格内容来修改图片的名称 我本来打
  • MySQL 为什么在实际开发中一般不使用外键约束

    阿里开发手册 强制 不得使用外键与级联 一切外键概念必须在应用层解决 1 外键优点 保证数据的完整性和一致性 级联操作方便 将数据完整性判断托付给了数据库完成 减少了程序的代码量 2 外键缺点 业务数据生成顺序 未必一定可以先生成外键的值
  • 树莓派街机乱码--batocera 中文乱码 --RetroArch 中文乱码

    1 下载中文字体1 重命名为NanumMyeongjo ttf 2 打开WinSCP 连接树莓派 用户名密码为 root linux 3 替换 usr share fonts truetype nanum目录下的NanumMyeongjo
  • OIer JCY

    OIer JCY 一 初一的寒假 大雪纷飞 JCY来到了他的初中 那是坐落在长春市边缘的一栋L形的建筑 冗长的走廊两边设着教室 教室和走廊之间只有门上和靠天花板的地方开着小玻璃窗 透进来些许微弱的光线 灯又不常开着 因而整个走廊总是十分昏暗
  • k8s里面Deploy控制器的使用

    为了更好的解决服务编排的问题 kubernetes在V1 2版本开始 引入了Deployment控制器 值得一提的是 这种控制器并不直接管理pod 而是通过管理ReplicaSet来简介管理Pod 即 Deployment管理Replica
  • 剑指Offer第六十一题:序列化二叉树

    题目描述 请实现两个函数 分别用来序列化和反序列化二叉树 思路 这里序列化就是直接先序遍历即可 但是反序列化指输入序列 返回tree 这里由于左右子树位置不知道 所以在序列化的时候加入 字符 以此判断子树为空 注 这里需要使用char 转s
  • 通用Mapper插件和MyBatis拦截器的使用

    通用Mapper和MyBatis拦截器的使用 MyBatis拦截器 拦截器的使用 MyBatis 拦截器的简单实现 实例结果验证 orderBy createTime默认排序 拦截器在项目中的使用 通用Mapper 简介 使用教程 通用Ma
  • 子词切分算法

    最近使用transformer训练机器翻译模型 期间也看了一些关于数据预处理分词的方法 了解了transformer 1 的subtokenizer以及bpe算法 其中subtokenizer分为形成词汇表与处理训练文本两个部分 形成词汇表
  • 呼叫中心中间件(mod_cti基于FreeSWITCH)-排队(ACD 话务分配)接口

    进入排队 cti acd acdname maxwaittime s priority
  • I - Ultimate Army(栈)

    I Ultimate Armyhttps vjudge csgrandeur cn problem Gym 102267I include
  • Xcode工程依赖

    我使用的Xcode版本 3 2 6 通过Xcode设置工程依赖之后 Xcode会先编译被依赖工程 最后编译有依赖工程 达到控制编译顺序的目的 但是设置依赖这种办法 只适用于所有的工程拥有相同的配置 Debug与Release 这种情况下 如
  • Linux 命令 ps aux 命令解析

    一 简介 PS 是 Linux 系统命令之一 在 Linux 中是查看进程的命令 查看正处于 Running 的进程 linux 上进程有 5 种状态 运行 正在运行或在运行队列中等待 中断 休眠中 受阻 在等待某个条件的形成或接收到信号