这里写目录标题
1. ps
进程是正在执行的一个程序或命令, 每一个进程都是一个运行的实体, 都有自己的地址空间, 并占用一定的系统资源。
1.1 基本语法
ps:process status 查看当前系统进程状态
- ps aux | grep xxx (功能描述: 查看系统中所有进程)
- ps -ef | grep xxx (功能描述: 可以查看子父进程之间的关系)
选项 | 功能 |
---|---|
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有进程, 包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出某个用户关联的所有进程 |
-u | 列出所有进程 |
-f | 显示完整格式的进程列表 |
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: 启动进程所用的命令和参数
1.2 案例实操
经验技巧
- 如果想查看进程的 CPU 占用率和内存占用率, 可以使用 aux;
- 如果想查看进程的父进程 ID 可以使用 ef;
通过管道命令筛选
2. kill
kill 终止进程
2.1 基本语法
kill [选项] 进程号 (功能描述: 通过进程号杀死进程)
killall 进程名称 ( 功能描述: 通过进程名称杀死进程, 也支持通配符, 这在系统因负载过大而变得很慢时很有用)
选项 | 功能 |
---|---|
-9 | 表示强迫进程立即停止 |
2.2 案例实操
kill
删除通过Xshell登录的root用户进程6044
删除通过Xshell登录的root用户进程6468。
killall
killall sshd
- 注意:sshd(secure shell)服务使用ssh协议远程开启其他主机shell的服务。首先需要打开sshd 服务
- 全部杀死之后,这时再想通过Xshell远程连接已经不可能了,这时,我们需要进入Vmware虚拟机终端重启sshd服务才可以重新使用远端连接。
3. pstree
pstree 查看进程树
3.1 基本语法
pstree [选项]
选项 | 功能 |
---|---|
-p | 显示进程的 PID |
-u | 显示进程的所属用户 |
3.2 案例实操
4. top
top 实时监控系统进程状态
4.1 基本语法
top [选项]
选项 | 功能 |
---|---|
-d 秒数 | 指定 top 命令每隔几秒更新。 默认是 3 秒在 top 命令的交互模式当中可以执行的命令: |
-i | 使 top 不显示任何闲置或者僵死进程 |
-p | 通过指定监控进程 ID 来仅仅监控某个进程的状态 |
操作 | 功能 |
---|---|
P | 以 CPU 使用率排序, 默认就是此项 |
M | 以内存的使用率排序 |
N | 以 PID 排序 |
q | 退出 top |
4.2 案例实操
查询结果字段解释
5. netstat
netstat 显示网络状态和端口占用信息
5.1 基本语法
netstat -anp | grep 进程号 (功能描述: 查看该进程网络信息)
netstat –nlp | grep 端口号 (功能描述: 查看网络端口号占用情况)
选项 | 功能 |
---|---|
-a | 显示所有正在监听(listen) 和未监听的套接字(socket) |
-n | 拒绝显示别名, 能显示数字的全部转化成数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |
5.2 案例实操
通过进程号查看sshd进程的网络信息
查看某端口号是否被占用