Linux自娱—8.进程管理
进程是正在执行的一个程序或命令,每个进程都是一个运行的实体,都有自己的地址空间,并占用一定的资源
- CentOS5系统进程:init
- CentOS6系统进程:upstart
- CentOS7系统进程:Systemd
linux中每个程序有1个进程,每个进程有1个id—pid;linux通过ps和top等管理进程,判断系统运行健康状态
ps
- 查看系统中所有正在运行的各种进程信息
- process status;静态查看进程
- pid ppid 进程名称是重点
ps aux // 查看系统中所有进程 使用bsd操作系统格式 a前台 x后台 u用户
ps -le // 查看系统中所有进程 使用linux标准命令格式 e所有进程
ps aux --sort -%cpu // 以cpu占用率排序
ps -ef // -e显示所有进程,-f全格式 可以查看到父进程信息
ps auo user,pid,ppid,%mem,command | head -3 // 自定义显示列
top
- 查看系统健康状态
- top 【选项】 // 动态查看进程,实时的任务管理器
- -d 秒数 // 指定top命令每隔几秒更新 默认是3秒
| top -d 3
pstree
- pstree【选项】;查看进程树
- -p 显示进程的PID
- -u 显示进程的所属用户
kill
- 杀进程的三个命令 kill killall pkill 下来再总结
- kill -l // 查看信号代码
| HUP 1 终端断线
| INT 2 中断(同 Ctrl + C)
| QUIT 3 退出(同 Ctrl + \)
| TERM 15 终止
| KILL 9 强制终止
| CONT 18 继续(与STOP相反, fg/bg命令
| STOP 19 暂停(同 Ctrl + Z)
| CHLD 17 父进程或init进程进行收拾僵尸进程用到的信号
nice 进程优先级
- linux进程调度及多任务 每个cpu在一个事件点上只能处理一个进程 通过时间片技术 来同时运行多个程序
- -20到19 一共40是个数字的优先级 nice值越大,优先级越低
- PR值 是nice值+20 将nice级别显示为映射到更大优先级队列 -20映射到0 +19映射到39
- 手工能调整的是nice值
- ps axo pid,command,nice --sort=nice 或者-nice 结果分别是nice值和PR值
- 调整nice值有两种方法
| 启动时 通常继承父进程nice值 默认为0
| 启动时 nice -n -5 sleep 50
| 已有进程 renice
作业控制
- foreground 前台进程 是在中断中运行的命令 占领终端
- background 后台进程 没有控制终端 它不需要终端的交互 看不见 但是在运行
- 命令+& 把程序放在后台
- jobs 查看后台进程
- 加号是最近的进程 -号是次新
- fg 数字 把后台程序调到前台
- ctrl + z 把信号暂停(进程)
- bg 数字 把后台暂停进程启动起来
- kill %数字 干掉后台进程
虚拟文件系统 proc
- 虚拟文件系统:采集服务器自身内核 进程运行的状态信息
- /proc/cpuinfo 存放cpu信息的
- /proc/meminfo 存放内存信息的
- /proc/cmdline 存放内核信息的
系统资源查看
- vmstat 【刷新延时 刷新次数】
- dmesg开机时内核检测信息 dmesg | grep CPU
- lspci 命令 待补充
- free查看内存使用状态 后边可以跟-b k m g
- 缓冲cache是用来加速数据从硬盘中读取的,而缓冲buffer是用来加速写入的。
- cat /proc/cpuinfo 查看cpu proc是内存挂载分区
- uptime 类似top命令第一行 w也可以看
- uname 【选项】 -a 查看系统所有相关信息 -r 查看内核版本 -s 查看内核名称
- top 监控系统状态的 显示系统各个进程的资源占用情况
- 判断当前系统的位数 file /bin/ls 随便一个命令路径
- lsb_release -a 查看当前系统发行版本 centos7报错
- lsof 【选项】 列出进程调用或打开的文件的信息
| -c 字符串 只列出以字符串开头的进程打开的文件
| -u 用户名 只列出某个用户的进程打开的文件
| -p pid 列出某个pid进程打开的文件
uptime
- cpu负载这块 负载接近内核数量,负载过高
拓展:gnome-shell 图形窗口
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律