linux进程管理
扫描二维码随身看资讯
使用手机 二维码应用 扫描右侧二维码,您可以
1. 在手机上细细品读~
2. 分享给您的微信好友或朋友圈~
Linux进程管理
-
什么是程序:应用程序是用户选择安装的程序的总称,通常包括驱动程序的进程,看图软件、解压缩软件等通用软件的进程.也可以顾名思义地说:应用程序就是为使用者提供与电脑沟通所开发出来的程序软件
-
什么是进程:
狭义定义:进程就是一段程序的执行过程。
广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。 -
什么是线程:也叫做轻量级进程,线程是进程中的⼀个执⾏单元,负责当前进程中程序的执⾏,⼀个进程中⾄少有⼀个线程。⼀个进程中是可以有多个线程的,这个应⽤程序也可以称之为多线程程序。
【1】、查看进程树
-
pstree:以树状结构显示进程信息,包括进程之间的关系
-
option
-
-p:显示进程PID
-
-a:显示完整的命令行
-
-u:列出每个进程所属账号名称
可以查看每一个进程是由哪些账号开启的,进程要一直开启才可以看到,进程有生命周期
-
-
通过pstree命令可以去进行进程的查询。
可以通过用户查询
pstree -p 用户名
-
ps aux :unix格式静态查看系统进程,查看系统所有进程信息
-
a:显示当前终端所有进程
-
u:以用户格式输出
-
x:当前用户在所有终端下的进程
-
[root@bogon ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.3 241428 14348 ? Ss 04:21 0:02 /usr/lib/systemd/systemd --switched-root --system --deserialize 17
-
各个字段的含义
-
USER:进程属于哪个用户 PID:进程ID号 %CPU:该进程占用CPU的百分比 %MEN:该进程占用物理内存的百分比 VSZ:进程使用掉的虚拟内存量(单位:kb) TTY:表示进程在那个终端运行,如果内核直接调用则显示“?”,tty1-tty6表示本机终端登录的用户进程,pts/0-255则表示远程终端登录用户的进程 STAT:进程状态,R(running)运行,S(sleep)睡眠,s包含子进程,T(stop)停止,Z(zombie)僵尸进程, +后台进程 START:进程启动时间 TIME:占用CPU运算时间 COMMAND:产生此进程的命令
-
-
ps ef :unix格式静态查看系统进程,查看系统所有进程信息
-
-e:显示当前终端所有进程
-
-f:显示最完整的进程信息
-
-l:以长格式输出
-
查找僵尸进程
-
[root@bogon ~]# ps -e -o ppid,stat | grep Z
-
【2】、top命令
Tasks: 256 total, 1 running, 255 sleeping, 0 stopped, 0 zombie
进程总数 正在运行的进程 休眠进程数 停止进程数 僵尸进程数
第一行:
系统本地时间
系统运行时间
用几个用户在登录
负载情况
- -M:按照内存使用资源排序
- -P:按照CPU使用资源排序
【3】、进程的前后台调度
-
前台任务
会持续占据终端界面,直至任务的结束才会释放终端界面,在前台任务占据终端界面时,我们是不能进行任何操作的
-
后台任务
在后台运行的任务不会占据控制界面,我们可以执行其他的命令
-
&:将程序fangruhoutaiyunx
-
jobs -l:查看后台任务列表
-
fg 进程编号:将后台任务恢复到前台执行
-
CTRL+Z:挂起前台任务并且放入后台
-
bg 进程编号:激活后台被挂起的进程
-
[root@bogon ~]# ping baidu.com >> /dev/null & [1] 3230 #将进程放入后台执行 [root@bogon ~]# jobs -l [1]+ 3230 Running ping baidu.com >> /dev/null & #查看后台进程 [root@bogon ~]# fg 1 ping baidu.com >> /dev/null #将后台进程放入前台执行 ^Z #挂起前台任务,并放入后台 [1]+ Stopped ping baidu.com >> /dev/null [root@bogon ~]# bg 1 #激活 [1]+ ping baidu.com >> /dev/null & [root@bogon ~]# jobs -l [1]+ 3230 Running ping baidu.com >> /dev/null &
【4】、杀死进程
-
CTRL+C:结束当前命令程序,只能杀死前台任务, 后台任务没法杀
-
kill
-
按照PID杀死,精确的杀死一个进程
-
-l:列出可选择的信号
-
常用信号:
-1:重启
-9:强制杀死,直接杀死,例如杀死僵尸进程
-15:正常杀死,默认是-15,杀死进程时先终止,后杀死
-
[root@bogon logs]# jobs -l [1] 3628 Running sleep 2m & [2]- 3629 Running sleep 3m & [3]+ 3630 Running sleep 4m & [root@bogon logs]# kill 3628 [root@bogon logs]# jobs -l [1] 3628 Terminated sleep 2m [2]- 3629 Running sleep 3m & [3]+ 3630 Running sleep 4m & [root@bogon logs]# jobs -l [2]- 3629 Running sleep 3m & [3]+ 3630 Running sleep 4m & [root@bogon logs]# jobs -l [2]- 3629 Running sleep 3m & [3]+ 3630 Running sleep 4m & [root@bogon logs]# kill -9 3630 [root@bogon logs]# jobs -l [2]- 3629 Running sleep 3m & [3]+ 3630 Killed sleep 4m [root@bogon logs]# jobs -l [2]+ 3629 Running sleep 3m &
-
-
killall
-
依据进程名杀死进程
-
killall 进程名
-
[root@bogon logs]# jobs -l [1] 3673 Running sleep 5m & [2]- 3674 Running sleep 6m & [3]+ 3675 Running sleep 7m & [root@bogon logs]# killall sleep [1] Terminated sleep 5m [2]- Terminated sleep 6m [3]+ Terminated sleep 7m [root@bogon logs]# jobs -l
-
强制杀死某用户所有的进程
killall -9 -u 用户名
-
-
pkill
- 按照终端杀死进程,-t
【5】、nice值
- 每一个进程都会拥有一个“优先级(priority)”属性
- 通过改变nice值,修改进程优先级
- nice值的范围是-20~19,nice值越低优先级越高,nice默认值是0、
- nice:在创建进程时设置nice值
- renice:创建好进程后,重新设置nice值
[kiosk@foundation0 ~]$ ps efo pid,command,nice
PID COMMAND NI
5890 bash SYSTEMD_EXEC_PID=2335 0
3058 bash SYSTEMD_EXEC_PID=2335 0
8949 \_ ps efo pid,command,nice 0
2245 /usr/libexec/gdm-wayland-se 0
2254 \_ /usr/libexec/gnome-sess 0
# 普通用户对于nice值只能调高(优先级只能调低),root用户对于nice值既可以调高,也可以调低
[root@servera ~]# nice -n 19 ping 127.0.0.1 > /dev/null &
[root@servera ~]# ps efo pid,command,nice
PID COMMAND NI
1519 sudo -i SHELL=/bin/bash HIS 0
1523 \_ -bash HISTSize=1000 HOS 0
1545 \_ ping 127.0.0.1 SHEL 19
1546 \_ ps efo pid,command, 0
1078 /sbin/agetty -o -p -- \u -- 0
1065 /sbin/agetty -o -p -- \u -- 0
[root@servera ~]# renice -n 10 1545
1545 (process ID) old priority 19, new priority 10
[root@servera ~]# ps efo pid,command,nice
PID COMMAND NI
1519 sudo -i SHELL=/bin/bash HIS 0
1523 \_ -bash HISTSIZE=1000 HOS 0
1545 \_ ping 127.0.0.1 SHEL 10
1548 \_ ps efo pid,command, 0
1078 /sbin/agetty -o -p -- \u -- 0
1065 /sbin/agetty -o -p -- \u -- 0
# 普通用户不允许调低nice值,也就是不允许将进程的优先级调高
[student@servera ~]$ ping 127.0.0.1 > /dev/null &
[1] 1577
[student@servera ~]$
[student@servera ~]$
[student@servera ~]$ ps efo pid,command,nice
PID COMMAND NI
1501 -bash USER=student LOGNAME= 0
1577 \_ ping 127.0.0.1 SHELL=/b 0
1578 \_ ps efo pid,command,nice 0
[student@servera ~]$ renice -n 14 1577
1577 (process ID) old priority 0, new priority 14
[student@servera ~]$ ps efo pid,command,nice
PID COMMAND NI
1501 -bash USER=student LOGNAME= 0
1577 \_ ping 127.0.0.1 SHELL=/b 14
1581 \_ ps efo pid,command,nice 0
[student@servera ~]$ renice -n 8 1577
renice: failed to set priority for 1577 (process ID): Permission denied
- 方舟生存进化正式版
- 永恒岛无限银币版下载 v1.0.3 安卓版
- 解谜汉字脑洞
- 手动挡停车场2 汉化版
- 玩具熊的五夜后宫4万圣节
- 赤灵战神大极品
- 最佳球会应用宝版本下载 v2.2.130 安卓版
- 王牌战士腾讯版下载安装最新版 v1.65.0.105 官方手机版
- 绿色征途手游官方版
- 封神幻想世界 最新版
- 鬼魂 手游官方正版下载最新版
- 原始传奇手机版官方版下载 v1.9.411 安卓版
- ChatGPT2024
- 拾柒日记
- Maven 整理
- 《Programming from the Ground Up》学习第2天,p19-p48总结,总计30页
- 在云环境中使用云负载均衡器替代Ribbon的原因和最佳实践
- Linux 提权-SUID/SGID_1
- Java 方法中循环调用具有事务的方法
- 组合数学基础知识
- Coding: 小写一个debugfs
- 图解CPU的实模式与保护模式
- DVT:华为提出动态级联Vision Transformer,性能杠杠的 | NeurIPS 2021
- 比特币交易流程详解
- PaddleNLP UIE -- 药品说明书信息抽取(名称、规格、用法、用量)
- 我对《RAG/大模型/非结构化数据知识库类产品》技术架构的思考、杂谈
- 1
加查之花 正版
- 2
爪女孩 最新版
- 3
捕鱼大世界 无限金币版
- 4
企鹅岛 官方正版中文版
- 5
内蒙打大a真人版
- 6
烦人的村民 手机版
- 7
跳跃之王手游
- 8
球球英雄 手游
- 9
情商天花板 2024最新版
- 10
旅行串串 免费下载