进程:父子关系 进程状态 优先级
进程优先级:0-139数字 共140个优先级 数字越小 优先级越高!!!
0-99:系统分配的优先级(用户不可控)
100-139:nice值(用户可控); -20-19;root用户可以任意调整nice值 普通用户只能调整0-19
高优先级进程:获取更多CPU运行时长 更优先让CPU执行
大O标准:O(1) O(n) O(logn) O(2的n次) O(n的2次)
搜索所有进程时间一样
搜索时间逐渐增长
进程分类:
和进程相关的进程:用户进程
和进程无关的进程:内核进程
ps:process status 进程状态查看,运行ps那个时刻的系统进程状态
ps aux结果解析:
USER:该进程是哪个用户发起的
PID:进程号 /proc目录存放着进程相关的信息 CENTOS7中 PID为1的进程是systemd CENTOS6中PID为1的进程是init
CPU:该进程占用CPU的百分比
MEM:该进程占用内存的百分比
VSZ:虚拟内存集(计算进程所占用物理内存时 物理内存包括共享库的时间)
RSS:常驻内存机(进程中不能被交换出去的数据)
TTY:运行在哪个终端
STAT:进程状态
START:进程启动时间
TIME:进程实际运行时长
COMMAND:该进程命令名称
ps -elF结果解析:
PRI:系统分配的优先级 用户不可更改
NI:nice值
调整nice值: 调整正在运行程序的nice:renice 【nice_num】PID
指定进程运行的nice值(让某个命令以指定nice运行) nice -n 【nice_num】命令
top:动态查看进程状态
top结果解析:
第一行:当前系统时间 系统运行时长 登录系统用户个数 过去1分钟 过去5分钟 过去15分钟的平均负载
第二行:进程总数 正在运行的进程数 睡眠进程数 停止进程数 僵尸进程数
第三行:CPU相关信息 us:用户进程所占百分比 sy:系统进程所占百分比 ni:nice所占CPU百分比 id:空闲进程所占百分比 hi:硬件中断所占百分比 hi:软件中断所占百分比 st:被偷走的百分比【按1可查看每个CPU】
第四行:物理内存相关信息
第五行:交换分区相关信息
top交互式命令:
M:按所占内存百分比排序
P:按所占CPU百分比排序
T:按进程运行时长进行排序
c:是否显示command完整路径
l:是否显示top第一行
t:是否显示top第二第三行
m:是否显示内存的相关信息
k:杀死某个进程 输入后 后面加PID
pstree:查看进程树(查看父子进程关系)
pgrep:查看某个进程PID号 pgrep + 进程名称
pidof:同上
kill:杀死某个进程 向进程传递某个信号
kill -l :查看信号列表
信号列表:
1:SIGHUP:不停止服务的状态下 重新读取配置文件 并且应用配置文件中的设置
2:SIGINT:ctrl+c 终端某进程
9:SIGKILL:强制杀死某个进程
15:SIGTERM:终止某个进程
kill语法:
kill -sig_num PID
kill -sig_name PID
信号:进程之间的通讯(IPC)
内存共享等
killall:杀死整个进程树 用法 同kill
前台进程:利用终端执行的进程
后台进程:运行执行时 不利用终端执行的进程
前台--》后台
ctrl+z把正在运行的程序 调入后台 并停止运行
&:启动时 直接调入后台运行
jobs:查看后台运行的作业
+:下一次将要运行的后台作业
-:下一次将要运行的第二的后台作业
看到后台东西不想让他运行则 运用
kill %1(%+后台作业编号) %不能省略
bg:把进程调入到后台继续运行
fg:把后台进程调入前台运行 也需要加入作业编号