ps命令是基础的监控命令,ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息。
参数
- -A 显示所有进程(与-e效果一样)
- -a 显示除控制进程与无端进程外的所有进程
- -N 显示与指定参数不符的所有进程
- -d 显示除控制进程外的所有进程
- -C 显示包含在cmdlist列表中的进程
- -G 显示组ID在grplist列表中的进程
- -U 显示属主的用户ID在uerlist列表中的进程
- -g 显示会话或组ID在grplist列表中的进程
- -p 显示PID在pidlist列表中的进程
- -s 显示会话ID在sesslist列表中的进程
- -t 显示终端ID在ttylist列表中的进程
- -u 显示有效用户ID在userlist列表中的进程
- -F 显示更多额外输出(相对于-f参数而言)
- -O 显示默认输出以外以及format列表指定的特定列
- -M 显示进程的安全信息
- -c 显示进程的额外调度信息
- -f 显示完整格式的输出
- -j 显示任务信息
- -l 显示长列表
- -o 仅显示由format指定的列
- -y 不要显示进程标记
- -Z 显示安全标签信息
- -H 用层级格式来显示信息
- -n 定义WCHAN列显示的值
- -w 采用宽输出模式,不限宽度显示
- -L 显示进程中的线程
- -V 显示ps的版本号
常用组合
- ps aux 列出目前所有的正在内存当中的程序
a:所有与终端相关的进程
u:所有与终端无关的进程
x:以用户为中心组织进程状态信息显示
- ps –ef 显示所有信息,连同命令行
-e:显示所有进程
-f:显示完整格式的进程信息
pstree :显示进程树
ps:
a:查看和终端有关的进程
u:显示进程是哪个用户启动的
x:和终端无关
ps aux |head
进程的分类:
和终端有关
和终端无关
进程状态:
D:不可中断睡眠
R:运行或者就绪
S:可中断睡眠
T:停止
Z:僵尸
< :高优先级
N :低优先级
+: 前台进程组中的进程
l:多线程进程
s: 会话进程首进程
pgrep:命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id
#只显示进程号
pgrep bash
top:实时动态的查看系统运行状态
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
top -d 1 :指定刷新时长
top -b : 批处理模式
top -n 3 :只显示3屏
vmstat:显示虚拟内存信息
vmstat 1 :每秒钟显示一次
free:查看内存
kill:
pkill:
bg:
fg: