[Linux服务器] 【linux指令】一文掌握 ps 的详细用法(ps 备忘清单)

906 0
Honkers 2025-8-19 12:25:51 来自手机 | 显示全部楼层 |阅读模式

Linux 为我们提供了一个名为 ps 的实用程序,用于查看与系统上的进程相关的信息,它是 Process Status 的缩写

这份 ps 命令备忘清单的快速参考列表,包含常用选项和示例。

入门

语法

  1. $ ps [options]
复制代码

命令运行示例,列出当前 shell 中的所有进程:

  1. $ ps
  2. PID TTY TIME CMD
  3. 12330 pts/0 00:00:00 bash
  4. 21621 pts/0 00:00:00 ps
复制代码

:–
PID唯一的进程 ID
TTY用户登录的终端类型
TIME进程运行的 CPU 数量,以分钟和秒为单位
CMD启动进程的命令的名称

注意:有时当我们执行 ps 命令时,它显示 TIME 为 00:00:00


ps 命令支持 3 种使用语法风格

  • Unix 可以分组并以连字符开头
  • BSD 可以分组但前面没有连字符
  • GNU 长选项,前面有双连字符

示例

OptionFunction
ps -ef / -aux以完整格式列出当前正在运行的进程
ps -ax列出当前正在运行的进程
ps -u 列出特定用户的进程
ps -C 列出给定命令的进程
ps -p 列出具有给定 PID 的进程
ps -ppid 列出具有给定 ppid 的进程
pstree在层次结构中显示过程
ps -L列出特定进程的所有线程
ps --sort pmem查找内存泄漏
ps -eo显示安全信息
ps T允许您仅选择与此终端关联的所有进程
ps -U root -u root u显示由 root 运行的进程

查看系统上的每个进程

要使用标准语法查看系统上的每个进程:

  1. $ ps -e # 列出所有进程
  2. $ ps -ef
  3. $ ps -eF
  4. $ ps -ely
复制代码

要使用 BSD 语法查看系统上的每个进程:

  1. $ ps ax # 以 BSD 格式列出所有进程
  2. $ ps axu
复制代码

打印进程树

  1. $ ps -ejH
  2. $ ps axjf
复制代码

仅打印 PID 42 的名称

  1. $ ps -q 42 -o comm=
复制代码

获取有关线程的信息

  1. $ ps -eLf
  2. $ ps axms
复制代码

列出当前用户拥有的所有进程

  1. $ ps x
复制代码

获取安全信息

  1. $ ps -eo euser,ruser,suser,fuser,f,comm,label
  2. $ ps axZ
  3. $ ps -eM
复制代码

查看以 root 身份运行的每个进程

查看以 root 身份运行的每个进程(真实且有效的 ID)用户格式:

  1. $ ps -U root -u root u
复制代码

查看具有用户定义格式的每个进程

  1. $ ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
  2. $ ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
  3. $ ps -Ao pid,tt,user,fname,tmout,f,wchan
复制代码

仅打印 syslogd 的进程 ID

  1. $ ps -C syslogd -o pid=
复制代码

显示面向用户的格式

  1. $ ps u
  2. USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
  3. refs 11400 1.1 0.0 34853544 5816 s025 Ss Tue02PM 0:02.82 /bin/zsh --login
  4. refs 34561 0.6 0.0 34822644 3152 s016 S+ 14Dec22 115:59.28 zsh (figterm)
  5. refs 21377 0.5 0.0 34973972 7076 s028 S+ Wed09AM 4:32.19 zsh (figterm)
  6. refs 78881 0.5 0.0 34843484 3256 s015 S+ 17Dec22 90:27.10 zsh (figterm)
复制代码

列出具有完整格式的进程

  1. $ ps f
  2. $ ps -F
复制代码

显示虚拟内存格式

  1. $ ps v
复制代码

按有效用户 ID 或名称显示进程

  1. $ ps -u user[name or id]
  2. # OR
  3. $ ps --user user[name or id]
  4. $ ps -u root
复制代码

真实用户 ID 或名称显示进程

  1. $ ps -U user[name or id]
  2. # OR
  3. $ ps --User user[name or id]
复制代码

按实际组 ID 或名称显示进程

  1. $ ps -G group[name or id]
  2. # OR
  3. $ ps --Group group[name or id]
复制代码

隐藏 ps 命令输出的标题

  1. $ ps h
  2. PID TT STAT TIME COMMAND
  3. 33790 s000 S+ 104:10.45 zsh (figterm)
  4. 33800 s001 Ss+ 0:02.76 /bin/zsh --login
  5. 77830 s002 S+ 90:22.51 zsh (figterm)
  6. 77840 s003 Ss 0:00.66 /bin/zsh --login
复制代码

显示命令后的环境

  1. $ ps e
  2. PID TTY STAT TIME COMMAND
  3. 886 tty2 Ssl+ 0:00 /usr/li....
复制代码

重复 ps 命令输出的标题行

  1. $ ps --headers -A
  2. PID TTY TIME CMD
  3. 1 ? 00:00:01 systemd
  4. 2 ? 00:00:00 kthreadd
  5. 3 ? 00:00:00 rcu_gp
复制代码

显示进程树

  1. $ ps --forest -A
  2. PID TTY TIME CMD
  3. 2 ? 00:00:00 kthreadd
  4. 3 ? 00:00:00 \_ rcu_gp
  5. 4 ? 00:00:00 \_ rcu_par_gp
  6. 960 ? 00:00:00 \_ goa-identity-se
  7. 1118 ? 00:00:00 \_ at-spi-bus-laun
  8. 1124 ? 00:00:00 | \_ dbus-daemon
复制代码

您可以使用 -H 选项打印进程层次结构

  1. $ ps -H -A
  2. PID TTY TIME CMD
  3. 2 ? 00:00:00 kthreadd
  4. 3 ? 00:00:00 rcu_gp
  5. 1832 ? 00:00:37 gnome-terminal-
  6. 1840 pts/0 00:00:00 bash
  7. 1925 pts/1 00:00:00 bash
  8. 2867 pts/1 00:00:00 su
  9. 2868 pts/1 00:00:00 bash
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行