概述
ps
命令可以查看当前系统的进程状态。ps
是 process status
的缩写。
语法
该命令的语法如下:
ps [参数] [选项]
该命令支持的选项有:
选项 | 说明 |
---|---|
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
注:该命令的选项非常多,这里只是列出常用的选项。
ps
命令最常用的两种情况是:ps aux
和ps -ef
。
使用
注:
ps
命令知道如下两种用法就可以了,不必过多关注那么多的选项。
查询所有进程【★★★★★】
查询所有进程有两种使用方式:
ps aux
# 或
ps -ef
关于 ps aux
显示信息说明如下:
- USER:该进程是由哪个用户产生的。
PID
:进程的 ID 号。%CPU
:该进程占用 CPU 资源的百分比,占用越高,进程越- 耗费资源。%MEM
:该进程占用物理内存的百分比,占用越高,进程越耗费资源。- VSZ:该进程占用虚拟内存的大小,单位 KB。
- RSS:该进程占用实际物理内存的大小,单位 KB。
- TTY:该进程是在哪个终端中运行的。对于 CentOS 来说,tty1 是图形化终端,tty2-tty6 是本地的字符界面终端。pts/0-255 代表虚拟终端。
- STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示。
- START:该进程的启动时间。
- TIME:该进程占用 CPU 的运算时间,注意不是系统时间。
- COMMAND:产生此进程的命令名。
关于 ps -ef
命令显示的信息说明如下:
- UID:用户 ID。
PID
:进程 ID。PPID
:父进程 ID。- C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高。
- STIME:进程启动的时间。
- TTY:完整的终端名称。
- TIME:CPU 时间。
- CMD:启动进程所用的命令和参数。
注:如果想要查看进程的 CPU 占用率和内存占用率,可以使用
ps aux
;如果想要查看进程的父进程 ID 则可以使用ps -ef
。
查找指定进程信息【★★★★★】
通常查找全部进程并不是我们所需要的,我们有时候只需要查找指定进程的信息即可,那么就需要用到管道符 |
和 grep
命令了。格式如下:
# 语法
ps aux | grep 指定进程名称
ps -ef | grep 指定进程名称
# 示例,查找 ssh 进程的信息
ps aux | grep "ssh"