Linux常用基本命令(进程管理类)
进程管理类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地
址空间,并占用一定的系统资源。
7.1 ps 查看当前系统进程状态
ps:process status 进程状态
1)基本语法
ps aux | grep xxx(功能描述:查看系统中所有进程)
ps -ef | grep xxx(功能描述:可以查看子父进程之间的关系)
2)选项说明
选项 | 功能 |
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程,包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
3)功能说明
(1)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:产生此进程的命令名
(2)ps -ef 显示信息说明
UID:用户 ID
PID:进程 ID
PPID:父进程 ID
C:CPU 用于计算执行优先级的因子。数值越大,表明进程是 CPU 密集型运算,
执行优先级会降低;数值越小,表明进程是 I/O 密集型运算,执行优先级会提高
STIME:进程启动的时间
TTY:完整的终端名称
TIME:CPU 时间
CMD:启动进程所用的命令和参数
4)经验技巧
如果想查看进程的CPU占用率和内存占用率,可以使用aux
如果想查看进程的父进程ID可以使用ef
5)案例实操
7.2 kill 终止进程
1)基本语法
kill [选项] 进程号(功能描述:通过进程号杀死进程)
killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用)
2)选项说明
选项 | 功能 |
-9 | 表示强迫进程立即停止 |
3)案例实操
7.3 pstree 查看进程数
1)基本语法
pstree [选项]
2)选项说明
选项 | 功能 |
-p | 显示进程的PID |
-u | 显示进程的所属用户 |
3)案例实操
7.4 top 实时监控系统进程状态
1)基本命令
top [选项]
2)选项说明
选项 | 功能 |
-d 秒数
|
指定 top 命令每隔几秒更新。默认是 3 秒在 top 命令的交互模式当
中可以执行的命令:
|
-i
|
使 top 不显示任何闲置或者僵死进程。
|
-p
|
通过指定监控进程ID来仅仅监控某个进程的状态 |
3)操作说明
操作 | 功能 |
P | 以CPU使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
q | 退出top |
4)查询结果字段解释
第一行信息为任务队列信息
内容 | 说明 |
12:26:46
|
系统当前时间
|
up 1 day, 13:32
|
系统的运行时间,本机已经运行 1 天
13 小时 32 分钟
|
2 users
|
当前登录了两个用户
|
load average: 0.00, 0.00, 0.00
|
系统在之前 1 分钟,5 分钟,15 分钟的平均负
载。一般认为小于 1 时,负载较小。如果大于
1,系统已经超出负荷。
|
第二行为进程信息
Tasks: 95 total
|
系统中的进程总数
|
1 running
|
正在运行的进程数
|
94 sleeping
|
睡眠的进程
|
0 stopped
|
正在停止的进程
|
0 zombie
|
僵尸进程。如果不是 0,需要手工检查僵尸进程
|
第三行为CPU信息
Cpu(s): 0.1%us
|
用户模式占用的 CPU 百分比
|
0.1%sy
|
系统模式占用的 CPU 百分比
|
0.0%ni
|
改变过优先级的用户进程占用的 CPU 百分比
|
99.7%id
|
空闲 CPU 的 CPU 百分比
|
0.1%wa
|
等待输入/输出的进程的占用 CPU 百分比
|
0.0%hi
|
硬中断请求服务占用的 CPU 百分比
|
0.1%si
|
软中断请求服务占用的 CPU 百分比
|
0.0%st
|
st(Steal time)虚拟时间百分比。就是当有虚拟
机时,虚拟 CPU 等待实际 CPU 的时间百分比。
|
第四行为物理内存信息
Mem: 625344k total
|
物理内存的总量,单位 KB
|
571504k used
|
已经使用的物理内存数量
|
53840k free
|
空闲的物理内存数量,我们使用的是虚拟机,总
共只分配了 628MB 内存,所以只有 53MB 的空
闲内存了
|
65800k buffers
|
作为缓冲的内存数量
|
第五行为交换分区(swap)信息
Swap: 524280k total
|
交换分区(虚拟内存)的总大小
|
0k used
|
已经使用的交互分区的大小
|
524280k free
|
空闲交换分区的大
|
409280k cached
|
作为缓存的交互分区的大小
|
7.5 netstat 显示网路状态和端口占用信息
1)基本语法
netstat -anp | grep 进程号(功能描述:查看该进程网络信息)
netstat –nlp | grep 端口号(功能描述:查看网络端口号占用情况)
2)选项说明
选项 | 功能 |
-a |
显示所有正在监听(
listen)和未监听的套接字(
socket)
|
-n |
拒绝显示别名,能显示数字的全部转化成数字
|
-l |
仅列出在监听的服务状态
|
-p |
表示显示哪个进程在调用
|
3)案例实操
(1)通过进程号查看sshd进程的网络信息
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?