用来列出系统中当前运行的那些进程
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
kill 命令用于杀死进程
Linux上的进程有5种状态:
- 运行(正在运行或者在运行队列中等待)
- 中断(休眠中,受阻,在等待某个条件的形成或接受到信号)
- 不可中断(收到信号不唤醒和不可运行,进程必须等待到有中断发生)
- 僵死(进程已终止,但进程描述符存在,直到父进程调用wait,系统调用后释放)
- 停止(进程收到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的实际指令