【Linux】 ps命令使用

作为一个后端的程序员,我们经常用到ps -ef | grep XXX

到底什么事ps呢。

下面我们一起学习一下吧、


ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

ps命令 -Linux手册页

【Linux】 ps命令使用_第1张图片

著者

ps最初由布兰科·兰克斯特撰写。迈克尔·K·约翰逊对它进行了大量的重写,以使用proc文件系统,并更改了过程中的一些内容。迈克尔·希尔兹添加了pid列表功能。查尔斯·布莱克添加了多级排序、dirent样式库、设备名称到数字mmaped数据库、直接在System.map上进行近似二进制搜索,以及许多代码和文档清理。David Mossberger Tang为psupdate编写了通用BFD支持。阿尔伯特·卡哈兰重写了ps以获得对Unix98和BSD的完全支持,同时还对过时和外来语法进行了一些丑陋的破解。

语法

ps [选项] [--help]

命令常用选项及作用

执行令 ps --help all      

执行命令结果

【Linux】 ps命令使用_第2张图片

【Linux】 ps命令使用_第3张图片

参数

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

  • -A    显示所有的进程数据
  • -a    显示跟当前终端关联的所有进程
  • -u    基于用户的格式显示
  • -x    显示所有进程,不以终端机来区分
  • -e    显示所有进程
  • -f    显示完整格式输出
  • -l    显示终端进程信息
  • -j    工作格式
  • -p     显示指定进程的信息
  • -o    根据进程状态进行过滤
  • -w 显示加宽可以显示较多的资讯
  • -t <终端>:仅显示指定终端上的进程信息。
  • -C <命令名>:仅显示指定命令名的进程信息。
  • -au 显示较详细的资讯
  • -aux 显示所有包含其他使用者的进程

命令示例

命令:ps -ef | grep 进程关键字

执行命令 :ps -ef | grep java

显示 Java 的进程:

命令:ps -A

执行命令 :ps -A

显示进程信息

【Linux】 ps命令使用_第4张图片

命令:ps -u 用户名

执行命令 :ps -u root

显示root进程用户信息

【Linux】 ps命令使用_第5张图片

命令:ps -ef 

执行命令 :ps -ef 

显示所有命令,连带命令行

【Linux】 ps命令使用_第6张图片

  • UID:用户ID(User ID)
  • PID :如上
  • PPID:父进程的进程ID(Parent Process id)
  • C:CPU 使用的资源百分比
  • STIME:进程开始时间
  • TTY:如上
  • TIME:如上
  • CMD:所下达的指令为何

命令:ps -aux

执行命令 :ps -aux 

【Linux】 ps命令使用_第7张图片

au(x) 输出格式 :  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  • USER: 行程拥有者
  • PID: pid
  • %CPU: 占用的 CPU 使用率
  • %MEM: 占用的记忆体使用率
  • VSZ: 占用的虚拟记忆体大小
  • RSS: 占用的记忆体大小
  • TTY: 终端的次要装置号码 (minor device number of tty)
  • STAT: 该行程的状态
  • START: 行程开始时间
  • TIME: 执行的时间
  • COMMAND:所执行的指令

STAT: 该行程的状态

  • D: 无法中断的休眠状态 (通常 IO 的进程)
  • R: 正在执行中
  • S: 静止状态
  • T: 暂停执行
  • Z: 不存在但暂时无法消除
  • W: 没有足够的记忆体分页可分配
  • <: 高优先序的行程
  • N: 低优先序的行程
  • L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
命令:ps -C 

执行命令 :ps -C java 

显示java的进程信息,没有ps aux|grep java、ps -ef|grep java 显示的详细

【Linux】 ps命令使用_第8张图片




【美图欣赏】

【Linux】 ps命令使用_第9张图片

你可能感兴趣的:(linux,linux,运维)