进程管理
进程:已启动的可执行程序的运行实例
如何查看进程 process
1.静态查看进程
1)ps auxf
参数解释:
ps : process nsapashot
a 只能查看系统里面运行的所有终端进程
u 显示进程拥有者
x 显示系统内所有进程
f 显示进程之间的父子关系
[root@xifeng ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER:运行进程的用户
PID:进程ID
%CPU:CPU占用率
%MEM:内存占用率
VSZ:进程占用的虚拟内存大小821
RSS:占用的物理内存大小
STAT:进程状态
?: 表示没有占用终端
R:运行
S:可中断睡眠Sleep—类似于挂起
D:不可中断睡眠
T:停止的进程
Z:僵尸进程
X:死掉的进程
START:进程的启动时间
TIME:进程占用CPU的总时间
COMMAND:进程文件,进程名
2)ps-ef
参数解释:
-e 显示所有进程
-l长格式显示
-f完整格式
[root@xifeng ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
UID:用户ID
PID:进程ID
PPID:父进程ID
C:CPU占用率
STIME:开始时间
TTY:开始此进程的TTY—终端设备
TIME:此进程运行的总时间
MD:命令名
2.动态查看进程
top 、htop
[root@xifeng ~]# top #动态显示信息,三秒刷新一次。
在工作中必须监控的东西 load average(平均负载)等待CPU处理的队列长度,也是个数。
1分钟 第一个数字
5分钟 第二个数字
15分钟 第三个数字
计算cpu负载:load average的三个值: 0.10, 0.16, 0.12,分别除cpu的个数,得出的值,如果值大于1那么那时候的负载高。
PR 优先级
进程状态了解
Sl 以线程的方式运行
Ss s进程的领导者,父进程
R+ +表示是前台的进程组
S< <优先级较高的进程
SN N优先级较低的进程
ni :nice值 决定优先级,nice值越高优先级越低
id: cpu空闲率
wa:cpu等待,等待输入/输出的进程占用的 CPU 百分比。如果使用率过高,表示硬盘该换了
进程控制
按pid杀死进程
kill,pkill
语法:kill 信号 PID #信号也是进程间通信的一种方式
[root@xifeng ~]# kill -l #查看所有信号
-1 HUP 重新加载进程或者重新加载配置文件,PID不变
-9 KILL 强制杀死
-15 TERM 正常杀死(这个信号可以默认不写)
-18 CONT 激活进程
-19 STOP 挂起进程
作业控制
作业控制之jobs:
作业控制指的是控制正在运行的进程的行为。比如,用户可以挂起一个进程或者放到后台去运行,等一会儿再继续执行该进程。
[root@xifeng ~]# vi /root/xf.txt &
[1] 41330
&:让命令或者程序在后台运行
ctrl+z把程序放在后台(这样会让程序在后台处于暂停状态)
[root@linux-server ~]# jobs #查看后台的工作号
bg %工作号 让暂停的程序在后台继续运行,%是用来修饰job number的。
fg %工作号 让后台的程序调到前台
kill -9 %工作号 通过kill杀死进程