linux进程 ps命令
ps命令
语法:ps [选项]
参数:
a 显示当前终端下所有用户的进程
x 显示所有不在当前终端下的进程
u 显示进程UID号或账户号
e 显示所有进程
f 显示完整的列表
l 显示进程的所有者
1)列出自己登入的PID和相关信息
命令:[[email protected] 桌面]# ps -l
结果说明:
F :代表这个程序的旗标 (flag),这里4代表使用者是superuser;
S :代表这个程序的状态(STAT),D=不可中断的睡眠状态、R=运行、S=睡眠、T=跟踪/停止、Z=僵尸进程;
UID :代表执行者身份;
PID :进程的ID号;
PPID :父进程的ID;
C :CPU使用的资源百分比
PRI :指进程的执行优先权,其值越小越早被执行;
NI :这个进程的nice值,其表示进程可被执行的优先级的修正数值。
ADDR :这个是内核函数,指出该程序在内存的那个部分。如果是个执行的程序,一般就是-;
SZ :使用掉的内存大小;
WCHAN :目前这个程序是否正在运作当中,其中-表示正在运作;
TTY :登入者的终端机位置;
TIME :使用掉的CPU 时间;
CMD :所下达的指令名称。
2)列出目前所有正在内存当中的程序
命令:[[email protected] 桌面]# ps aux
结果说明:
USER :该进程属于那个使用者账号;
PID :该进程的进程ID号;
%CPU :该进程使用掉的CPU资源百分比;
%MEM :该进程所占用的物理内存百分比;
VSZ :该进程使用掉的虚拟内存量 (Kbytes);
RSS :该进程占用的固定的内存量 (Kbytes);
TTY :该进程是在那个终端机上面运作,若与终端机无关,则显示?。此外tty1-tty6是本机上面的登入者程序,若为pts/0的,则表示为由网络连接进主机的程序。
STAT :该程序目前的状态,主要的状态有:
R 该程序目前正在运作,或者是可被运作
S 该程序目前正在睡眠当中,但可被某些讯号(signal)唤醒
s 发起的一个会话
T 该程序目前正在侦测或者是停止了;
Z 该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态
W 没有足够的内存分页可分配
< 高优先级的进程
N 低优先级的进程
+ 处于前台进程组中
l 多线程
L 将页面锁定在内存中(用于实时和自定义IO)
START :该进程被触发启动的时间;
TIME :该进程实际使用CPU运作的时间;
COMMAND :该程序的实际指令。
3)通过特定用户来过滤进程
需要查看特定用户进程时,可以使用-u参数。
命令:[[email protected] 桌面]# ps -u root
4)通过cpu和内存来过滤进程
查看系统占用CPU最高的5个进程。
命令:[[email protected] 桌面]# ps aux | sort -rn -k3 | head -5
查看系统占用内存最高的5个进程。
命令:[[email protected] 桌面]# ps axu | sort -rn –k4 | head -5
5)通过进程名过滤
使用-C参数,后面跟要查找的进程的名字。
命令:[[email protected] home]# ps -C python
如果想要看到更多的细节,可以使用-f参数来查看格式化的信息列表。
命令:[[email protected] home]# ps -f -C python
6)树形显示进程
需要以树形结构显示进程时,可以使用axjf参数:
命令:[[email protected] home]# ps axjf
也可以使用pstree命令:
命令:[[email protected] home]# pstree
7)显示安全信息
查看现在有谁登入了服务器
命令:[[email protected] home]# ps eo pid,user,args
参数含义:
e显示所有进程信息,o控制输出;
Pid,User和args参数分别显示PID、运行应用的用户和该应用。
8)生成新的报表
命令:[[email protected] home]# ps axe -o comm,pid,nice,pcpu
命令:[[email protected] home]# ps axef -o comm,pid,nice,pcpu