一:概述
进程是指Linux系统中处于运行状态的程序。系统中始终会有多个进程运行中,系统中的各种服务都是以进程的形式存在于系统中,有效的进程管理可以发现系统中耗时较多的进程,然后调整系统进程的优先级以及终止无效的进程。
二:ps命令
Linux系统中的进程都是由初始化程序直接或间接的启动,每一个进程都有一个系统赋予的进程标识,即进程ID。用户执行命令时创建一个进程,并在程序结束时消失。
Linux系统中,查询进程及其状态使用不带参数的ps命令。这个命令负责查询当前系统中所有活动的进程状态,比如进程运行时间和资源占用情况可以使用ps命令。
格式:ps[选项]
ps命令的选项有两种分支UNIX(带-)和BSD(不带-),还有一组支持GUN选项。不可以在同一命令使用两种不同的类型选项。
三种类型的选项特点如下:
- UNIX选项:可以一次指定多个选项,例如:ps -p PID.
- BSD选项:可以一次指定多个选项,例如ps p PID.
- GUN选项:通常在该选项前面指定--,例如:ps -pid PID.\
选项列表如下:
类型 | 选项 | 说明 |
UNIX | -p | 指定PID(进程ID) |
-e | 显示所有的进程 | |
-f | 显示详细信息 | |
-l | 以长格式显示详细信息 | |
-o | 以用户定义的格式显示 | |
-c | 显示有关进程的信息· | |
BSD | p | 指定PID(进程ID) |
a | 显示所有的进程 | |
u | 显示详细信息 | |
x | 在没有控制终端的情况下显示进程信息 |
演示不带任何选项的命令显示效果;
上图中的bash和ps表示同一用户是从当前终端启动处理,执行firefox &命令启动系统中的Firefox的浏览器,然后再次使用ps命令查看进程状态,执行结果中添加了浏览器的进程。
这些结果中的字段含义如下表所示:
字段 | 说明 |
PID | 进程号,是进程的唯一标识 |
TTY | 控制终端 |
TIME | 进程的累计执行时间 |
CMD | 命令名、选项和参数 |
三:pstree命令
它可以以树状的形式显示进程之间的调用关系。
格式:pstree [选项]
pstree命令的选项没有ps那么多,常用的就几个:
选项 | 说明 |
-p | 显示进程的PID |
-u | 显示进程的对应的用户名 |
-h | 列出树状图时,突出现在执行的程序 |
如果没有指定进程号,执行pstree命令会以树状形式以systemd程序开始显示:
下来演示一下-p选项的执行结果情况: