Linux 命令 ps aux 命令解析

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: Linux 命令 ps aux 命令解析

一、简介

  • 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
    +:位于后台的进程组
相关文章
|
19天前
|
算法 Linux 定位技术
Linux内核中的进程调度算法解析####
【10月更文挑战第29天】 本文深入剖析了Linux操作系统的心脏——内核中至关重要的组成部分之一,即进程调度机制。不同于传统的摘要概述,我们将通过一段引人入胜的故事线来揭开进程调度算法的神秘面纱,展现其背后的精妙设计与复杂逻辑,让读者仿佛跟随一位虚拟的“进程侦探”,一步步探索Linux如何高效、公平地管理众多进程,确保系统资源的最优分配与利用。 ####
53 4
|
20天前
|
缓存 负载均衡 算法
Linux内核中的进程调度算法解析####
本文深入探讨了Linux操作系统核心组件之一——进程调度器,着重分析了其采用的CFS(完全公平调度器)算法。不同于传统摘要对研究背景、方法、结果和结论的概述,本文摘要将直接揭示CFS算法的核心优势及其在现代多核处理器环境下如何实现高效、公平的资源分配,同时简要提及该算法如何优化系统响应时间和吞吐量,为读者快速构建对Linux进程调度机制的认知框架。 ####
|
1月前
|
网络协议 开发工具 C语言
Jetson错误(二):wget命令提示无法解析主机地址的问题解决
对于解决在NVIDIA Jetson平台上使用wget命令时出现的无法解析主机地址的问题,提供了两种解决方法:一种是临时修改DNS服务器为Google的公共DNS,另一种是永久修改DNS设置。
110 5
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
2月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
71 0
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
156 3
|
3月前
|
网络协议 Linux
在Linux中,如何改IP、主机名、DNS?
在Linux中,如何改IP、主机名、DNS?
|
9天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
35 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
70 0
|
1月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0
下一篇
无影云桌面