一个IT从业者,分享IT的各种相关内容。点个关注,不迷路,总有能帮到你的分享内容。什么?帮不到。那谢谢你这么俊/这么美,来关注我!
01 ps命令简介
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
命令格式
#ps [options]
选项示例:
命令 | 说明 |
ps a | 显示现行终端机下的所有程序,包括其他用户的程序 |
ps -A | 显示所有进程 |
ps c | 与“ps a”功能类似,只是不显示程序路径,只显示程序名称 |
ps -e | 与“ps -A”功能相同 |
ps e | 与“ps a”功能类似,只是显示出程序使用的环境变量等 |
ps f | 与“ps a”功能类似,只是用ASCII字符显示树状结构,表达程序间的相互关系 |
ps -H | 与直接运行ps相似,只是用ASCII字符显示树状结构,表达程序间的相互关系 |
ps -N | 显示所有的程序,除了执行ps指令终端机下的程序之外 |
ps s | 采用程序信号的格式显示程序状况 |
ps S | 与“ps a”输出相同,列出程序时,包括已中断的子程序资料。 |
ps -t 终端编号 | 列出属于该终端机的程序的状况 |
ps u | 以用户为主的格式来显示程序状况 |
ps x | 显示所有程序,不以终端机来区分 |
常用选项组合:
ps aux,输出示例如下图:
USER:运行程序的用户
PID:进程号
%CPU:CPU使用率
%MEM:内存使用率
VSZ:进程所使用的虚存的大小
RSS:进程使用的驻留集大小或者是实际内存的大小,Kbytes字节
TTY:与进程关联的终端(tty)
STAT:进程的状态,进程状态使用字符表示的
TIME:进程使用的总cpu时间
COMMAND:正在执行的命令行命令
STAT状态
R:运行 Runnable (on run queue) 正在运行或在运行队列中等待。
S:睡眠 Sleeping 休眠中, 受阻, 在等待某个条件的形成或接受到信号。
I:空闲 Idle
Z:僵死 Zombie(a defunct process) 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放。
D:不可中断 Uninterruptible sleep (ususally IO) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T:终止 Terminate 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P:等待交换页
W:无驻留页 has no resident pages 没有足够的记忆体分页可分配。
X:死掉的进程
<:高优先级进程 高优先序的进程
N:低优先 级进程 低优先序的进程
L:内存锁页 Lock 有记忆体分页分配并缩在记忆体内
s:进程的领导者(在它之下有子进程);
l:多进程的(使用 CLONE_THREAD, 类似 NPTL pthreads)
+:位于后台的进程组
常用组合
命令 | 说明 |
ps -o pid ppid session | 输出指定的字段 |
ps aux --sort -pcpu | 根据CPU使用来升序排序 |
ps aux --sort -pmem | 根据内存使用来升序排序 |
ps -u userone | 查看特定用户进程 |
ps -C bash | -C 后面跟进程的名字,如例子,显示一个名为bash的进程的信息 |
ps -ef | 显示所有进程信息,包括命令行 |
ps -U root -u root -N | 查看非root运行的进程 |
ps -eLf | 查看线程信息 |
本文参考:
1、https://blog.csdn.net/vip_wangsai/article/details/72616587
本文暂时没有评论,来添加一个吧(●'◡'●)