Linux ps命令详解

Linux ps命令详解教程

Linux 中的 ps 命令用来列出系统中当前运行的那些进程。ps 命令列出的是当前那些进程的快照,就是执行 ps 命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用 top 命令。

要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。

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

Linux ps命令详解

功能

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

语法

ps [options]

参数

参数 描述
options ps 命令使用的参数。

ps命令常用参数

选项 含义
a 显示所有进程。
-a 显示同一终端下的所有程序。
-A 显示所有进程。
c 显示进程的真实名称。
-N 反向选择。
-e 等于 “-A”。
e 显示环境变量。
x 通常与 a 这个参数一起使用,可列出较完整信息。
f 显示程序间的关系。
-H 显示树状结构。
r 显示当前终端的进程。
T 显示当前终端的所有程序。
u 指定用户的所有进程。
-au 显示较详细的资讯。
-aux 显示所有包含其他使用者的行程。
-C<命令> 列出指定命令的状况。
–lines<行数> 每页显示的行数。
–width<字符数> 每页显示的字符数。

Linux ps命令显示信息

显示信息 描述
F 代表这个程序的旗标 (flag), 4 代表使用者为 superuser。
S 代表这个程序的状态 (STAT)。
UID 代表执行者身份。
PID 进程的 ID 号。
PPID 父进程的 ID。
C CPU 使用的资源百分比。
PRI 指进程的执行优先权(Priority的简写),其值越小越早被执行。
NI 这个进程的 nice 值,其表示进程可被执行的优先级的修正数值。
ADDR 这个是内核函数,指出该程序在内存的那个部分。如果是个执行 的程序,一般就是 -
SZ 使用掉的内存大小。
WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作。
TTY 登入者的终端机位置。
TIME 使用掉的 CPU 时间。
CMD 所下达的指令名称。

Linux ps命令当前用户进程显示信息

显示信息 描述
USER 该进程属于那个使用者账号。
PID 进程的 ID 号。
%CPU 该进程使用掉的 CPU 资源百分比。
%MEM 该进程所占用的物理内存百分比。
VSZ 该进程使用掉的虚拟内存量 (Kbytes)。
RSS 该进程占用的固定的内存量 (Kbytes)。
TTY 该进程是在那个终端机上面运作,若与终端机无关,则显示 ?。另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。
STAT 该程序目前的状态,详情见 进程状态
START 该进程被触发启动的时间。
TIME 该进程实际使用 CPU 运作的时间。
COMMAND 该程序的实际指令。

Linux ps命令常用实例

实例

实例 描述
ps -A 显示所有进程信息。
ps -u root 显示指定用户信息。
ps -elf 显示所有进程信息,连同命令行。
ps -elf|grep ssh 查找特定进程。
ps -l 将目前属于您自己这次登入的 PID 与相关信息列示出来。
ps aux 列出目前所有的正在内存当中的程序。
ps -axjf 列出类似程序树的程序显示。
ps aux | egrep '(cron|syslog)' 找出与 cron 与 syslog 这两个服务有关的 PID 号码。
ps -eo pid,ppid,pgrp,session,tpgid,comm 输出指定的字段。

说明

o 参数,可以指定需要显示的字段。

显示所有进程信息

语法

ps -A

案例

我们使用 ps 命令,显示所有进程信息,具体命令如下:

ps -A

运行后,终端输出如下:

05_Linux ps命令详解.png

我们看到,我们使用了 ps 命令,显示了所有进程信息。

显示指定用户进程信息

语法

ps -u root

案例

我们使用 ps 命令,显示指定用户进程信息,具体命令如下:

ps -u root

运行后,终端输出如下:

06_Linux ps命令详解.png

我们看到,我们使用了 ps 命令,显示了 root 用户的所有进程信息。

显示进程命令行

语法

ps -elf

案例

我们使用 ps 命令,显示所有进程信息,包括进程的命令行,具体命令如下:

ps -elf

运行后,终端输出如下:

07_Linux ps命令详解.png

我们看到,我们使用了 ps 命令,显示了所有进程信息,并显示了命令行。

查看特定进程

语法

ps -elf | grep ssh

案例

我们使用 ps 命令,加上管道命令连同 grep 命令,可以实现查看指定进程的信息,具体命令如下:

ps -elf | grep ssh

运行后,终端输出如下:

08_Linux ps命令详解.png

我们看到,我们使用了 ps 命令,查看了指定进程 ssh 的进程信息。

查看正在内存中的程序

语法

ps aux

案例

我们使用 ps 命令,查看正在内存中进程的信息,具体命令如下:

ps aux

运行后,终端输出如下:

09_Linux ps命令详解.png

我们看到,我们使用了 ps 命令,查看了正在内存中的进程的信息。

树状结构显示进程

语法

ps -axjf

案例

我们使用 ps 命令,以树状结构显示进程信息,具体命令如下:

ps -axjf

运行后,终端输出如下:

10_Linux ps命令详解.png

我们看到,我们使用了 ps 命令,以树状结构显示了进程信息。

定制显示指定字段

语法

ps -eo pid,ppid,pgrp,session,tpgid,comm

案例

我们使用 ps 命令,加上 o 参数,可以定制显示指定的字段,具体命令如下:

ps -eo pid,ppid,pgrp,session,tpgid,comm

运行后,终端输出如下:

11_Linux ps命令详解.png

我们看到,我们使用了 ps 命令,使用 o 参数可以定制显示的字段信息。

Linux ps命令详解总结

Linux 中的 ps 命令用来列出系统中当前运行的那些进程。ps 命令列出的是当前那些进程的快照,就是执行 ps 命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用 top 命令。