【Linux】3.10 进程管理(重点)
进程管理
1. 进程管理基础
- 在Linux中,每个执行的程序(代码)都称为一个进程。每个进程都分配一个ID号
- 每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。
- 每个进程都可能以两种方式存在。前台和后台。
- 前台进程:用户目前的屏幕上可以进行操作的。
- 后台进程:实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。
2. 显示系统执行的进程
2.1 ps指令详细介绍
ps [选项]:查看目前系统中,有哪些正在执行,以及它们执行的状况
- ps -a:显示当前终端的所有进程信息。
- ps -u:以用户的格式显示进程信息。
- ps -x:显示后台进程运行的参数。
- ps -axu | grep xxx:过滤得到xxx的信息。
- ps -ef:以全格式显示当前所有的进程,查看进程的父进程。
- -e:显示所有进程。
- -f:全格式。
ps -axu显示信息选项

System V 展示风格
| 字段 | 说明 |
|---|---|
| USER | 用户说明 |
| PID | 进程识别号 |
| %CPU | 进程占用cpu百分比 |
| %MEM | 进程占用物理内存百分比 |
| VSZ | 进程占用虚拟内存大小(KB) |
| RSS | 进程占用物理内存大小(KB) |
| TTY | 终端机号 |
| STAT | 进程状态,S睡眠,s代表是会话的先导进程,N代表进程拥有比普通进程更高的优先级,R正在运行,D短期等待,Z僵死进程,T被跟踪或被停止 |
| STARTED | 进程启动的时间 |
| TIME | 此进程所消耗的CPU时间 |
| COMMAND | 正在执行的命令或进程名 |
ps -ef显示信息解释

BSD展示风格
| 字段 | 说明 |
|---|---|
| UID | 用户id |
| PID | 进程id |
| PPID | 父进程 |
| C | CPU用于执行优先级的因子,数值越大,表明cpu密集型运算,执行优先级会降低,数值越小,表明是I/O密集运算,执行优先级会提高 |
| STIME | 进程启动时间 |
| TTY | 终端机号 |
| TIME | 此进程所消耗的CPU时间 |
| CMD | 启动所用的命令和参数 |
3. 终止进程
若是某个进程执行一半需要停止时,或是消耗了很大的系统资源时,此时可以考虑停止该进程,使用kill命令来完成此任务
- kill [选项] 进程号:通过进程号杀死进程
- -9:表示强迫进程立刻停止
- killall 进程名称:通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
案例1:踢掉某个非法用户

案例2:终止远程服务

案例3:终止多个gedit编辑器

案例4: 强制杀掉一个终端

4. 查看进程树
- 查看进程树:pstree [选项]
- -p:显示进程的PID
- -u:显示进程的所属用户
5. 服务(Service)管理
服务(Service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql,sshd 防火墙等),因此我们又称为守护进程。

5.1 service管理指令
service管理指令:service 服务名 [start | stop | restart | reload | status]
在CentOS7.0之后,不再使用service,而是systemctl
查看防火墙情况:
- service iptables status
- systemctl status firewalld(7.0之后的版本)

测试某个端口是否在监听:telnet
5.2 服务查看方式
方式1:setup指令

方式2:ls -l /etc/init.d/
5.3 服务的运行级别(runlevel)
- 查看或修改默认级别:vim /etc/inittab
- 每个服务对应的每个运行级别都可以设置
详细见3.5实用指令第一部分
5.4 开机流程

5.5 chkconfig指令
chkconfig:可以给每个服务的各个运行级别设置自启动/关闭
5.5.1 基本语法
- 查看xxx服务:chkconfig –list | grep xxx
- 查看服务的状态:chkconfig 服务名 --list
- 给服务的运行级别设置自启动:chkconfig –level 5 服务名 on/off
- 要所有运行级别关闭或开启:chkconfig 服务名 on/off
- chkconfig重新设置后需要重新启动才能生效
6. 动态监控进程
top与ps相似,都是用来显示正在执行的进程,top的不同之处在于top执行一段时间可以更新正在运行的进程
6.1 基本语法
top [选项]
- -d 秒数:指定top命令每隔几秒更新。默认是3秒。
- -i:使top不显示任何闲置或者僵死进程。
- -p:通过指定监控进程ID来仅仅监控某个进程的状态。
- 交互操作说明:
| 操作 | 功能 |
|---|---|
| P | 以CPU使用率排序,默认就是此项 |
| M | 以内存的使用率排序 |
| N | 以PID排序 |
| q | 退出top |
动态进程监控图例

6.2 应用案例
6.2.1 监控特定用户
- top查看进程;
- u
- 输入用户名。
6.2.2 终止指定的进程
- top查看进程;
- k输入要结束的进程。
7. 查看网络情况
7.1 基本语法
netstat [选项]
- -an:按一定顺序排列输出
- -p:显示哪个进程在调用
7.2 应用案例
查看所有的网络服务
- netstat -anp | more
查看sshd的服务的信息
- netstat -anp | grep sshd
【Linux】3.10 进程管理(重点)的更多相关文章
- Linux系统管理10——进程和计划任务管理
Linux系统管理10——进程和计划任务管理 一.程序和进程的关系 1.程序 ·保存在硬盘.光盘等介质中的可执行代码和数据 ·静态保存的代码 2.进程 ·在CPU及内存中运行的程序代码 ·动态执行的代 ...
- Linux学习之进程管理(十九)
Linux学习之进程管理 进程查看 查看系统中所有进程,使用BSD操作系统的格式 语法:ps aux 选项: a:显示所有前台进程 x:显示所有后台进程 u:显示这个进程是由哪个用户产生的 语法:ps ...
- 【Linux学习】Linux系统管理1—进程管理
Linux系统管理1-进程管理 一.Linux的三种进程 Linux包括3中不同类型的进程: 交互进程:由一个shell启动的进程.交互进程可以在前后台运行 批处理进程:该进程和终端无联系,是一个进程 ...
- Linux系列之进程管理
前言 进程是正在运行的程序,Linux系统通常有数百个进程同时运行.本文就来介绍下Linux是如何进行进程管理的. 我们可以看到: 查看进程(Viewing processes) 查找进程(Findi ...
- Linux学习之进程管理
|-进程管理 进程常用命令 |- w查看当前系统信息 |- ps进程查看命令 |- kill终止进程 |- 一个存放内存中的特殊目录/p ...
- Linux网络和进程管理
1) 计算机网络是通过外围的设备和连接,将分布在相同或不同区域的多台计算机 连接在一起所形成的集合.网络中的计算机实现彼此间互相通信,并且可以共 同使用硬件.软件和数据资源,实现资源共享.Lin ...
- Linux网络配置&进程管理
原理图 查看ip和网关
- 深入Linux内核架构——进程管理和调度(下)
五.调度器的实现 调度器的任务是在程序之间共享CPU时间,创造并行执行的错觉.该任务可分为调度策略和上下文切换两个不同部分. 1.概观 暂时不考虑实时进程,只考虑CFS调度器.经典的调度器对系统中的进 ...
- Linux系统编程@进程管理(一)
课程目标: 构建一个基于主机系统的多客户即时通信/聊天室项目 涉及的理论知识 进程控制:僵尸进程/孤儿进程.进程控制.守护进程... 进程间通信:管道.命名管道.信号... 多线程编程: 锁.信号量. ...
- Linux进阶之进程管理
本节内容 1.进程管理 2.ps 3.uptime 4.top 5.ss -tnl------ lsof -i :22 一. 进程管理的概念 程序:二进制文件,静态 /bin/date,/usr/sb ...
随机推荐
- 深入剖析数据删除操作:DELETE 语句的使用与管理实践
title: 深入剖析数据删除操作:DELETE 语句的使用与管理实践 date: 2025/1/8 updated: 2025/1/8 author: cmdragon excerpt: 数据删除( ...
- LeetCode 未验证规则
1. for循环容易忘记break,很多提交不过,都是因为这个 2. 左右指针,思考起来比较复杂,但是以代码容易理解.code精简为主,不要在乎省下一两次运算时间 3. 左右指针,有时候以left & ...
- 一文读懂 es6 中class方法中的this绑定
一直以来有这么个疑问? class 的方法中没有自动的绑定this 为什么手动绑定之后,在绑定之后的方法里调用class中的其他的方法(这个方法为什么就能使用this,不也应该是null或者undef ...
- c++:-6
上一节学习了C++中的多态性:c++:-5,本节学习C++的函数模版.数据结构以及排序查找操作: 模版 函数模版 思考:如果重载的函数,其解决问题的逻辑是一致的.函数体语句相同,只是处理的数据类型不同 ...
- springboot集成测试最小化依赖实践
目录 简介 版本及依赖引入 springboot版本 项目部分依赖 直接使用SpringBootTest方式 代码示例 场景及优劣 最小化依赖方案 代码 思路及步骤 最小化依赖方案的优点 结论 简介 ...
- .NET9 AOT部署
概念 AOT是Ahead-of-Time的缩写,AOT是将C#程序提前编译为机器代码(通常为平台特定的二进制文件),在应用程序启动之前完成编译过程. 微软官方文档是这样说的 将应用程序发布为本机 AO ...
- BUUCTF刷题-Web方向1~5wp
[极客大挑战 2019]EasySQL 一个sql注入登录框,直接万能密码登录 拿到flag [极客大挑战 2019]Havefun 打开环境,没有任何信息,查看源码,发现这么一段代码 GET方式传入 ...
- NFS v3及v4协议区别
本文分享自天翼云开发者社区<NFS v3及v4协议区别>,作者:章****凯 NFS v4相比v3,有部分功能的增强,如果应用需要实现如下功能,则必须使用NFS v4(建议和应用侧确实是否 ...
- Q:oracle小于1的number,不显示小数点前的0?
oracle存储number类型数字 如果数字小于1 如0.35就会存储.35 省略掉前面的数字0 方法1: oracle 数据库字段值为小于1的小数时,转换到char类型处理,会丢失小数点前面的 ...
- deepseek等AI工具是程序员技能发展的双刃剑
2025年,全球已有73%的程序员日常使用AI编码工具(Gartner 2025Q1数据).当我们惊叹于GitHub Copilot生成完整功能模块仅需10秒时,也需要警惕一个现象:新一代程序员在ID ...