Linux命令之ps

1.ps介绍

linux命令ps是用来查看系统进程的命令。类似与Windows任务管理器中查看到的进程的功能。

2.ps用法

ps [参数]

ps常用参数

参数

说明

-A

显示所有的进程数据

-a

显示跟当前终端关联的所有进程

-u

基于用户的格式显示

-x

显示所有进程,不以终端机来区分

-e

显示所有进程

-f

显示完整格式输出

-l

显示终端进程信息

-j

工作格式

-p <pid>

显示指定进程的信息

-o

根据进程状态进行过滤

3.实例

3.1ps -ef |head -n 5

Linux命令(30)之ps_进程状态

“ps -ef |head -n 5”输出解释

UID

PID

PPID

C

STIME

TTY

TIME

CMD

启动进程的用户ID

进程的ID

进程的父进程ID

进程中生命周期中的CPU利用率

进程启动时的系统时间

在哪个终端上运行

-? 指与终端无关

tty1 指运行在tty1终端上,E.g:tty1-tty6

运行进程一共累计占用的CPU时间

启动的程序名称

3.2 ps -aux |head -n 5

Linux命令(30)之ps_优先级_02

"ps -aux |head -n 5"输出解释

USER

PID

%CPU

%MEM

VSZ

RSS

TTY

STAT

START

TIME

COMMAND

启动进程的用户

进程的ID

进程占用CPU的百分比

进程占用内存的百分比

进程占用虚拟内存的大小;等价于VIRT (top命令输出)

进程占用物理内存的大小;  等价于RES (top命令输出)

在哪个终端上运行

-? 指与终端无关

tty1 指运行在tty1终端上,E.g:tty1-tty6

进程的状态

该进程被触发启动的时间

该进程实际使用CPU运作的时间

该进程的实际指令

 STAT指进程的状态,包括:

R:正在运行中

S:静止状态

T:暂定执行

D:无法中断的休眠状态 (通常 IO 的进程)

Z:僵尸进程

STAT进程状态后s、<等含义:

<:进程运行在高优先级上
N:表示进程运行在低优先级上
L:表示进程有页面锁定在内存中
s:表示进程是控制进程
l:表示进程是多线程的
+:表示当前进程运行在前台

3.3ps -l |head -n 5

Linux命令(30)之ps_进程状态_03

 F:程序的flag(标签)

   4: 表示此进程的权限为 root

   1: 子进程只能复制,没有执行权限

   0:表示此进程有执行权限

S:进程状态   

   R:正在运行中

   S:静止状态

   T:暂定执行

   D:无法中断的休眠状态 (通常 IO 的进程)

   Z:僵尸进程

UID:启动进程的用户ID

PID:进程的ID

PPID:进程占用CPU的百分比

C:进程中生命周期中的CPU利用率

PRI:优先级,数值越小,优先级越高

NI:优先级,数值越小,优先级越高

ADDR:这个是 kernel function,指出该程序在内存的哪个部分。如果是个 running的程序,一般就是 "-"

SZ:进程用掉的内存

WCHAN:进程是否在运行中,若为 - 表示正在运作

TTY:在哪个终端上运行

   -? 指与终端无关

   tty1 指运行在tty1终端上,E.g:tty1-tty6

TIME:使用掉CPU的时间

CMD:进程触发程序指令

3.4显示指定进程的信息

命令:

ps -ef |grep sshd 

ps -p PID

Linux命令(30)之ps_僵尸进程_04

3.5显示进程属性结构(有树形结构就显示;没有就不显示)

命令:

ps f

Linux命令(30)之ps_优先级_05

3.6按CPU使用率大小排序显示

命令:

ps -eo pid,pcpu,args --sort=-pmem |head -n 5

Linux命令(30)之ps_优先级_06

3.7按MEM使用率大小排序显示

命令:

ps -eo pid,pmem,args --sort=-pmem |head -n 5

Linux命令(30)之ps_进程状态_07