菜鸟笔记
提升您的技术认知

Linux:ps命令详细使用

ps(process status)

用来列出系统中当前运行的那些进程

ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。

kill 命令用于杀死进程
  
Linux上的进程有5种状态:

  1. 运行(正在运行或者在运行队列中等待)
  2. 中断(休眠中,受阻,在等待某个条件的形成或接受到信号)
  3. 不可中断(收到信号不唤醒和不可运行,进程必须等待到有中断发生)
  4. 僵死(进程已终止,但进程描述符存在,直到父进程调用wait,系统调用后释放)
  5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后运行停止)

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

  • D 不可中断
  • R 运行
  • S 中断
  • T 停止
  • Z 僵死

1.命令格式:

ps[参数]

2.命令功能

用来显示当前进程的动态

3.命令参数

a 显示所有进程
-a 显示同一终端下的所有进程
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序之间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C 列出指定命令的状况
–line 每页显示的行数
–width 每页显示的字符数
–help 显示帮助信息
–version 显示版本信息

举个栗子吧。。。。

例子1:显示所有进程信息(ps -A)

例子2:显示指定用户信息(ps -u root)

例子3:显示所有进程的信息,连同命令行(ps -ef)


例子4:将目前属于你自己这次登陆的PID与相关信息列示出来(ps -l


说明(上述图片中的各个参数含义):

F 代表这个程序的旗标

S 代表这个程序的状态(stat)

UID 程序被该UID所拥有

PID 就是这个程序的ID

PPID则是其上级父进程的ID

C 代表cpu使用的资源百分比

PRI 这个是Priority(优先执行序的缩写)

NI 这个是nice值

ADDR 这个是kernel function,指定该程序在内存的那个部分。如果是个running程序,一般是“-”

SZ 使用掉的内存大小

例子5:ps与grep的常用组合用法,查找特定进程
ps -ef|grep ssh

例子6:列出目前所有的正在内存当中的程序
ps aux

说明:

USER:该process属于哪个使用者的账号的

PID :该process的号码

%CPU:该process使用掉的cpu资源百分比

%MEN:该process所占用的物理内存百分比

VSZ:该process使用掉的虚拟内存量

RSS:该process占用的固定内存量

TTY:该process是在哪个终端机上面运作,若与终端机无关,则显示?,另外,tty1-tty6是本机上面的登入者程序,若为pts/0等等的,则表示为网络连接进主机的程序

START:该process被触发启动的时间

TIME:该process实际使用cpu运作的时间

COMMAND:该process的实际指令