前言
日期:2020/05/28
心情:😘😘😘
Description:进程是一个其中运行着一个或多个线程的地址空间和这些线程所需要的系统资源。一般来说,Linux系统会在进程之间共享程序代码和系统函数库,所以在任何时刻内存中都只有代码的一份拷贝。本文的主要内容是有关于Linux进程的实际操作管理(查看,终止,监控)
1. 进程的基本介绍
- 在linux中,每一个执行的程序和指令都称为一个进程.每一个进程都有一个独立的进程号
- 每一个进程,都会有一个对应的父进程.而这个父进程可以复制多个子进程.
- 每一个进程,都可能有两种方式存在:前台,后台.
前台进程是指,用户在屏幕上能够操作的程序对应的进程.
后台进程是指,已经运行但在屏幕上无法看到,用户也不能直接操作的程序对应的进程. - 一般系统的服务都是以后台进程的方式存在,而且会常驻内存.只到强制停止或关机才会结束.
2. 查看CentOS(Linux)系统中执行的进程
基本语法: ps [选项]
效果: ps指令使用来查看目前系统中,有哪些在执行的进程,以及它们的状态.
常用选项:
- -a 显示当前终端的所有进程信息
- -u 以用户的格式显示进程信息
- -x 显示后台进程的运行参数
- -ef 查看父进程
案例:
- 案例1: 查看所有的进程
- 案例2: 查看指定的sshd服务进程
- 案例3: 查看所有进程和父进程
- 案例4: 查看sshd服务的父进程
2. 查看CentOS的进程树
基本语法: pstree [选项]
效果: 以树型结构的方式,展示进程信息
常用选项:
- -p 显示进程的id
- -u 显示进程所属的用户
案例: 树型结构展示进程信息,附带显示进程编号
3. 终止进程
基本语法:
- kill [选项] 进程编号
- killall 进程名称
效果: 通过进程编号或者名称杀死进程,通过名称操作时支持通配符.
常用选项: -9 表示强制进程立即停止
案例:
-
案例1: 踢掉一个用户的链接.
-
案例2: 终止sshd服务,在需要的时候再启动.
-
案例3: 终止多个gedit编辑器
-
案例4: 强制终止一个终端(bash)
注意: 当同一个名称的查询结果有多个对应的进程时,可以通过起始时间进行区别来确定需要操作的进程编号
4. 动态进程监控
基本语法: top [选项]
效果: 以动态更新的方式监控系统进程的状态,并可以和用户进行交互操作.
常用选项:
- -d 秒数 刷新的间隔秒数,默认是3秒
- -i 不显示闲置或者僵死进程
- -p 进程id 只监控该id对应的进程状态
交互指令:
按键 | 效果 |
---|---|
p | 按cpu使用率来排序 |
m | 按内存使用率来排序 |
n | 按进程编号排序 |
u | 监控用户对应的进程 |
k | 杀死指定的进程 |
q | 退出 |
案例:
- 案例1: 动态监控所有进程状态
- 案例2: 监控指定用户
- 案例3: 杀死指定的进程
- 案例4: 将刷新时间改成10秒
总结:本文的内容到次结束,进程和服务的管理,有些时候我们需要使服务器运行更加效率,就要关闭杀死一些僵尸进程。掌握了解也是很有必要的。我是小白,养成爱做笔记的好习惯,总有一天成为大佬。如果能帮到您,那真是再好不过了!加油!!!