摘要
目的:
- 介绍linux的进程
- 关于进程查看的相关指令:ps、pstree等
一、linux进程介绍
- 在LINUX中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号(pid,进程号)。
程序就是一段代码,但是程序运行时就会加载到内存中,就成为了进程
-
每个进程都可能以两种方式存在的。前台与后台:
-
所谓前台进程就是用户目前的屏幕上可以进行操作的。
-
后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
-
-
一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中。直到关机才才结束。
二、进程相关指令
1. 查看进程
ps
指令查看进程
选项如下
选项 | 说明 |
---|---|
-a | 显示当前中断的所有进程信息 |
-u | 以用户的格式显示进程信息 |
-x | 显示后台进程运行的参数 |
-e | 显示所有进程 |
-f | 全格式 |
- 但是这些都不是最常用的
指令 | 功能 | 说明 | 选项 |
---|---|---|---|
`ps -aux | more` | 查看进程的信息 | 信息太多,用more查看 |
`ps -aux | grep xxx` | 查看某个进程的效率 |
下面逐一介绍
列 | 说明 | 举例 |
---|---|---|
USER | 执行该进程的用户 | |
PID | 进程的id | |
%CPU | 占用CPU的百分比 | |
%MEM | 占用内存的百分比 | |
VSZ | 进程占用的虚拟内存大小(单位:KB) | |
RSS | 进程占用的物理内存大小(单位:KB) | |
TT | 终端名称缩写 | |
STAT: | 进程状态(其中S-睡眠,s-表示该进程是会话的先导进程,N-表示进程拥有比普通优先级更低的优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或者被停止等等) | |
STARTED | 进程的启动时间 | |
TIME | CPU时间,即进程使用CPU的总时间 | |
COMMAND | 启动进程所用的命令和参数,如果过长会被截断显示 |
2. 查看进程父进程(全格式)
下面的参数以全格式显示所有的进程
指令 | 功能 | 说明 | 选项 |
---|---|---|---|
ps -ef |
以全格式的显示当前所有的进程 | -e:显示所有进程 -f:全格式 |
|
`ps -ef | grep xxx` | 查看某个进程 |
列 | 说明 | 举例 |
---|---|---|
UID | 用户ID | |
PID | 进程ID | |
PPID | 父进程ID | |
C | CPU用于计算执行优先级的因子: 数值越大,表明进程是CPU密集型运算,执行优先级会降低 数值越小,表明进程是I/O密集型运算,执行优先级会提高 |
|
STIME | 进程启动的时间(start time) | |
TTY | 完整的终端名称 | |
TIME | CPU时间 | |
CMD | 启动进程所用的命令和参数 |
由下可以看到父进程
三、查看父进程
要求:查看sshd的父进程信息
ps -ef | grep sshd
- 首先查看到右多行,但是看到的不一定是sshd进程
- 然后可以查看指令,第一行,看起来是一个命令行执行的,可能就是我们要找的,其ppid是1,即父进程id就是1
- 同时可以看到下面几行的信息都是1
四、查看进程树
pstree指令
选项 | 说明 |
---|---|
-u | 显示用户 |
-p | 显示进程id |
指令 | 功能 | 说明 | 选项 |
---|---|---|---|
yum install psmisc |
安装进程树指令 | ||
pstree |
显示进程树 | ||
pstree -u |
显示进程树以及创建进程的用户 | -u 用户 | |
pstree -p |
显示进程树以及进程id | -p 显示进程id |
效果如下
pstree
pstree -u
pstree -p
pstree -pu
标签:ps,查看,pstree,指令,linux,进程,CPU
From: https://www.cnblogs.com/CrispyCandy/p/17586222.html