作为一个后端的程序员,我们经常用到ps -ef | grep XXX
到底什么事ps呢。
下面我们一起学习一下吧、
ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
著者
ps最初由布兰科·兰克斯特撰写。迈克尔·K·约翰逊对它进行了大量的重写,以使用proc文件系统,并更改了过程中的一些内容。迈克尔·希尔兹添加了pid列表功能。查尔斯·布莱克添加了多级排序、dirent样式库、设备名称到数字mmaped数据库、直接在System.map上进行近似二进制搜索,以及许多代码和文档清理。David Mossberger Tang为psupdate编写了通用BFD支持。阿尔伯特·卡哈兰重写了ps以获得对Unix98和BSD的完全支持,同时还对过时和外来语法进行了一些丑陋的破解。
语法
ps [选项] [--help]
命令常用选项及作用
执行令 ps --help all
执行命令结果
参数:
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
显示进程信息
命令:ps -u 用户名
执行命令 :ps -u root
显示root进程用户信息
命令:ps -ef
执行命令 :ps -ef
显示所有命令,连带命令行
- UID:用户ID(User ID)
- PID :如上
- PPID:父进程的进程ID(Parent Process id)
- C:CPU 使用的资源百分比
- STIME:进程开始时间
- TTY:如上
- TIME:如上
- CMD:所下达的指令为何
命令:ps -aux
执行命令 :ps -aux
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 显示的详细
【美图欣赏】