访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

[Linux] ps命令详解

时间:2019-06-18

红帽linux命令大全_linux命令大全软件_linux命令大全

[Linux] ps命令详解

Linux中的ps (Process Status)命令用来列出系统中当前运行的那些进程。

linux上进程有5种状态:

1. 运行(正在运行或在运行队列中等待)

linux命令大全软件_linux命令大全_红帽linux命令大全

2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

停止进程的运行, 但该信号可以被处理和忽略. 用户键入susp字符时(通常是ctrl-z)发出这个信号。默认会导致进程停止的信号有:sigstop,sigtstp,sigttin,sigttou。发送sigstop (17,19,23)停止一个进程,而并不消灭这个进程。

linux命令大全软件_红帽linux命令大全_linux命令大全

ps工具标识进程的5种状态码:

D 不可中断 uninterruptible sleep (usually IO)

R 运行 runnable (on run queue)

S 中断 sleeping

linux命令大全软件_红帽linux命令大全_linux命令大全

T 停止 traced or stopped

Z 僵死 a defunct (”zombie”) process

1.命令说明

名称:ps

linux命令大全软件_linux命令大全_红帽linux命令大全

使用权限:所有使用者

使用方式:ps [options] [--help]

说明:显示瞬间行程 (process) 的动态

2.常用命令参数

-a 显示同一终端下的所有程序
-A 显示所有进程 (等价于-e)
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的进程
c  显示进程的真实名称
-C<命令> 列出指定命令的状况  显示一个名为getty的进程的信息 ps -C getty
-d 显示所有进程,但省略所有的会话引线(utility)
-e 等于“-A”
e  显示环境变量
-f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
f  显示程序间的关系(树形结构  pstree命令也是显示树形结构)
x 显示所有程序,不以终端机来区分。
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
-N 反向选择
-H 显示树状结构
r  显示当前终端的进程
T  显示当前终端的所有程序
u  指定用户的所有进程
-t<终端机编号>  指定终端机编号,并列出属于该终端机的程序的状况。
-p pid 父进程id
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程。
-l 长格式(有F,wchan,C 等字段)
-L 参数,后面加上特定的PID 显示特定进程的线程
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
--sort -pcpu 根据pcpu排序

3.ps 显示列的意义

[root@localhost cc]# ps -l
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0 17398 17394  0  75   0 - 16543 wait   pts/0    00:00:00 bash
4 R     0 17469 17398  0  77   0 - 15877 -      pts/0    00:00:00 ps
F 代表这个程序的旗标 (flag), 4 代表使用者为 super user
S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍
UID 程序被该 UID 所拥有
PID 就是这个程序的 ID !
PPID 则是其上级父程序的ID
C CPU 使用的资源百分比
PRI 这个是 Priority (优先执行序) 的缩写,详细后面介绍
NI 这个是 Nice 值,在下一小节我们会持续介绍
ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"
SZ 使用掉的内存大小
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作
TTY 登入者的终端机位置
TIME 使用掉的 CPU 时间。
CMD 所下达的指令为何

4. 范例