今天开始新的篇章了哦——进程管理
一、进程简介
1、进程是什么
了解进程,让我们先了解一下程序
程序是什么呢,程序就是写了运行指令的文件,是静态的
所以进程就是运行起来程序,是动态的
2、进程从哪里来
centos 7 的系统进程是systemd 可以fork出很多子进程
子进程具有与父进程相同的地址空间,具有一定的身份标识
3、进程状态
(1) running 运行
(2) sleeping 睡眠
(3) stopped 停止
(4) zombie 僵死
二、进程管理
了解了进程的基本概念后,让我们开始管理进程吧
1、静态的查看进程 ps
(1)命令:ps aux
11个字段,含义如下:
(2)进程排序
我们可以对某一字段进行排序,比如:%cpu %mem time等,这样看起来容易做出比较
命令:ps aux --sort %cpu 排序查看每个进程对 cpu 的占比(默认出来为升序 -%cpu 为降序)
%cpu只是其中一个字段,还可以把 %cpu 换成 %mem 等
(3)进程父子关系
还可以用 ps 命令查出进程之间的父子关系
命令:ps -ef
(4)自定义字段
使用 ps aux 查看的字段太多了,有些我们可能就不想看,所以可以用这条命令来查看我们想要看到的信息
命令:ps axo 字段名,字段名,字段名 (想看谁就把谁的字段名写在后面,用 , 隔开)
2、动态的查看进程 top
静态的查看进程,敲击回车的那一瞬间之后再启动的程序看不到实时状态,动态查看可以有效地避免这个问题
命令:top //回车立即刷新,按 z 彩色
top -d 1 //每一秒刷新一次
top -p 进程号 //查看指定进程的动态信息
top -p 进程号1,进程号2 //查看多个指定进程的动态信息
top 查看时,看到的信息有两部分,如下图所示,分别对每部分做介绍:
下半部分:
PID USER %CPU %MEM COMMAND TIME 这些在上面讲 ps 的时候已经讲过了哦,忘记的可以向上翻一翻呢
VIRT 虚拟内存 RES 常驻内存
SHR 共享内存 S 状态
PR 系统优先级 NI 优先级 ( 优先级下面会讲哦 )
三、控制进程
学会了查看进程,但如果进程出现问题了,比如:进程陷入了僵死 zombie 状态,要怎么控制它呢
首先了解一下几种常见的进程信号种类吧
2 键盘中断( ctrl + c ) 20 后台暂停( ctrl + z )
18 继续 19 暂停
9 非法杀死 15 正常杀死
四、进程优先级 nice
1、nice 的优先级范围是 -20到19 ( nice 值越大,优先级越低 )
nice 可动 PR系统优先级 不可动
2、查看进程的 nice 级别
命令:ps axo user,pid,command,nice --sort=-nice ( 降序 )
3、更改现有进程的 nice 级别
命令:renice -n -15 某个进程的 pid ( 更改进程的优先级就更改了占用CPU的时间 )
五、作业控制 jobs
1、关键词
(1)fg 前台 (2) bg 后台
2、后台程序控制示例
六、虚拟文件系统 proc
(1) CPU cat /proc/cpuinfo
(1) 内存 cat /proc/meminfo
(1) 内核 cat /proc/cmdline
今天的分享就到这里了,感觉今天的内容有点多呢,需要好好消化一下了。