上节复习:
ps aux
ps -elf # 查看父进程id
pstree pid
pgrep -l -u 用户
今日内容
1、查看进程状态
命令行选项
top -d 刷新时间s -p pid # 只看某一个进程的信息
top -d 刷新时间s -u 用户 # 只查看该用户开启的所有进程信息
内部命令
s # 修改刷新时间,单位是秒,可以是0.001s,建议不要设置很小,否则会过度消耗cpu
q # 退出 或者ctrl+c
排序:
M 按照内存占用率从大到小排序
P 按照cpu占用率从大到小排序
N 按照PID从大到小排序
配合R代表倒序
shift + > # 移动排序字段
shift + < # 移动排序字段
按上下键查看所有进程
f 增加显示字段 (top 属性 增加)
k 给进程发信号 (删除)
数字1 :显示所有cpu的信息
2、管理进程
1、优先级设置
2、给进程发信号
kill
3、HUP信号-》如何让进程脱离当前终端运行
nohup
setsid
在子shell中提交任务
screen命令
top命令
第一行内容:
当前系统时间 服务器运行时间 有3个用户在登录
top - 10:54:23 up 1 day, 17:56, 3 users,
#平均负载(系统)
load average: 0.00, 0.01, 0.05
第二行内容:
总共122个任务 1个正在运行(R) 121个进入睡眠状态的(S) 没有停止(T) 0个僵尸进程(Z)
Tasks: 122 total, 1 running, 121 sleeping, 0 stopped, 0 zombie
第三行内容:
用户态 内核态 优先级 空闲 等待(wait) 硬中断 软中断 虚拟机占用物理机CPU的百分比
%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa,(io输入输出) 0.0 hi, 0.0 si, 0.0 st (被偷的值)
第四行:内存
KiB Mem : 2028116 total, 150780 free, 144108 used, 1733228 buff/cache
第五行:swap虚拟内存
KiB Swap: 2097148 total, 2097148 free, 0 used. 1645080 avail Mem
第六行:
进程号 用户 (比右边的大20)优先级 虚拟内存 物理内存 共享内存 状态 占CPU的百分比 占内存的百分比
PID USER (比右边的大20)PR NI VIRT RES SHR S %CPU %MEM
运行时间 进程的运行命令
TIME+ COMMAND
中断:硬中断
中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求
软中断:
事实上,为了解决中断处理程序执行过长的和丢失中断的问题,Linux将中断处理过程分成了两个阶段:
第一阶段:用来快速处理(硬中断)中断,它在中断禁止模式下运行,主要处理跟硬件紧密相关工作
第二阶段:用来延迟处理第一阶段未完成的工作,通常以内核线程的方式运行。
top命令使用:
-d:指定刷新时间
-p:指定pid
-u:指定用户
-b:保存到文件中
-n:指定次数
z:高亮显示
b:运行的进程,高亮显示
s:修改刷新时间
M:按照内存排序
P:按照CPU排序
R:倒叙
f:自定义显示字段
q:退出
kill信号管理:
1:重新加载
2:类似于ctrl + c
3:正常终止进程
9:强制杀死(少用)
15:默认信号,进程终止
-------------------------------------
18:重新唤起停止的进程
19:直接暂停
20:把进程放到后台并暂停
pkill
-t:指定终端
-9:强制,把终端运行的命令和终端一并杀掉
killall 进程名