插件窝 干货文章 介绍Linux中PS命令的用法

介绍Linux中PS命令的用法

进程 显示 bash 格式 841    来源:    2025-04-09

Linux中PS命令的详细用法指南

PS命令(Process Status)是Linux系统中用于查看进程信息的强大工具。它可以显示当前运行的进程状态,是系统管理和故障排查的重要命令。

基本语法

ps [options]

常用选项

显示格式选项

  • -e-A: 显示所有进程
  • -a: 显示除会话引导进程外的所有进程
  • -d: 显示除会话引导进程外的所有进程(与-a类似)
  • -f: 完整格式显示(Full-format)
  • -u: 以用户为主的格式显示
  • -l: 长格式显示
  • -j: 以作业格式显示
  • -H: 显示进程层次结构(树状)
  • --forest: 以ASCII艺术形式显示进程树

选择特定进程

  • -p PID: 显示指定PID的进程
  • -C cmd: 显示指定命令名的进程
  • -U user: 显示指定用户的进程
  • -G group: 显示指定组的进程

常用组合示例

  1. 显示当前终端所有进程

    ps
    
  2. 显示系统中所有进程

    ps -e
    ps -A
    
  3. 完整格式显示所有进程

    ps -ef
    
  4. 以用户格式显示所有进程

    ps -aux
    
  5. 显示进程树

    ps -ef --forest
    
  6. 查看特定用户的进程

    ps -u username
    
  7. 查看特定命令的进程

    ps -C sshd
    
  8. 查看特定PID的进程

    ps -p 1234
    

输出字段解释

使用ps -efps aux时常见的列:

  • UID/USER: 进程所有者
  • PID: 进程ID
  • PPID: 父进程ID
  • %CPU: CPU使用率
  • %MEM: 内存使用率
  • VSZ: 虚拟内存大小(KB)
  • RSS: 常驻内存大小(KB)
  • TTY: 终端关联
  • STAT: 进程状态
    • R: 运行中
    • S: 休眠中
    • D: 不可中断的休眠
    • Z: 僵尸进程
    • T: 停止或被追踪
    • <: 高优先级
    • N: 低优先级
    • s: 会话引导进程
    • l: 多线程
    • +: 前台进程组
  • START: 进程启动时间
  • TIME: CPU使用时间
  • COMMAND: 执行的命令

高级用法

  1. 结合grep过滤进程

    ps -ef | grep nginx
    
  2. 按CPU或内存排序

    ps aux --sort=-%cpu | head -10  # CPU使用率最高的10个进程
    ps aux --sort=-%mem | head -10  # 内存使用率最高的10个进程
    
  3. 显示线程信息

    ps -eLf
    
  4. 自定义输出格式

    ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head
    
  5. 显示进程环境变量

    ps e -p PID
    

PS命令是Linux系统管理的基础工具,熟练掌握其用法可以大大提高系统管理和故障排查的效率。