安装进程管理工具
yum -y install psmisc
查看进程关系
pstree -pl
# 查看进程:ps aux
# 自定义显示字段:ps axo 字段,字段,字段....
# 查看指定进程的pid:cat /run/sshd.pid 进程号
# ps -ef //多用来查看某个进程存不存在 ps -ef|grep 进程名称
# ps -aux //多用来查看使用量的占比
# ps aux --sort %cpu |head //安装CPU使用从小到大排序
# ps aux --sort -%cpu |head //安装CPU使用从大到小排序
# pgrep -参数 sshd //查看服务的进程号
-l:查看进程名称;
-n :当匹配多个进程时,显示进程号最大那个;
-o:当匹配多个进程时,显示进程号最小那个
# pstree 将当前的执行程序以树状结构显示
# top 查看动态进程
表头说明:
USER 改进程的启动用户
PID 进程id
%CPU 进程的cpu使用率
%MEM 进程的内存使用率
VSZ 虚拟内存使用量
RSS 驻留内存使用量 实际使用内存
TTY 终端
STAT 进程状态
START 进程启动时间
TIME CPU使用总时间
COMMAND 进程启动命令
ps指定输出字段
ps -o 字段1,字段2,...
top 动态查看
PR 绝对优先级
NI nice相对优先级
VIRT 进程使用的虚拟内存
RES 进程使用的真实内存
SHR 共享内存
第一行
top - 14:22:09 up 5:04, 4 users, load average: 0.00, 0.01, 0.05
14:22:09 当前时间
up 5:04 运行时间
4 users 当前系统登录的用户
load average: 0.00, 0.01, 0.0 cpu最近1、5、15分钟的负载情况
第二行
Tasks: 139 total, 1 running, 138 sleeping, 0 stopped, 0 zombie
139 total 总进程数
1 running 运行状态的进程数
138 sleeping 等待状态的进程数
0 stopped 停止状态的
0 zombie 僵尸进程
第三行
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
0.0 us 用户态
0.0 sy 系统态
0.0 ni nice值调整占用
100.0 id 空闲状态
0.0 wa 等待
0.0 hi 硬中断
0.0 si 软中断 [CPU时钟计数]
0.0 st 被偷走的
第四行
KiB Mem : 3060308 total, 1718368 free, 379948 used, 961992 buff/cache 2450196 avail Mem
3060308 total: 总内存
1718368 free: 空闲内存
379948 used: 已使用
961992 buff/cache 缓存/缓存使用量
2450196 avail Mem 可用内存
第五行
KiB Swap: 2359292 total, 2359292 free, 0 used.
2359292 total swap总量
2359292 free swap空闲量
0 used. swap已使用量
进程管理信号
kill pkill killall
# kill 杀死单个进程
# pikll 杀死运行中的程式
# killall 杀死所有同名进程
# pkill -9 -u tom //强制用户tom退出终端登录
# pkill -9 -t pts/2 //强制断开某个终端的链接
# kill -l //列出所有支持的信号 编号 信号名
后台进程管理
方式一:
ps -ef|grep 进程名称
kill 进程号
方式二:
jobs /查看后台的进程
kill 进程号
方式三:
fg //把后台任务放到前台管理[jobs看到的有的+]
^c终止进程 ^z暂停进程
当程序放后台输出的时候,依旧有输出(前台)
解决方法:
nohup 运行程序 & //&后台运行 ; nohup不显示
但是会在执行命令的目录产生一个 nohup.out 记录输出,且不会影响到前台
进程优先级
进程的优先级
nice值 [相对优先级] 数值越小优先值越高 [-20,-19]
pr [绝对优先级] 实际就是将nice级别显示为映射到更大的优先级队伍,-20映射到0,+19映射到39
启动进程时,设定nice值
#nice -n nice值 启动命令
启动后更改nice值
renice 新的nice值 pid