第五章:走进linux世界——进程管理
今天,我们走进新的篇章,进程管理。
一、进程简介
1)进程是什么
了解进程,让我们先了解一下程序,那么,什么是程序呢?
答:程序就是写了运行指令的文件,是静态的,
所以进程就是运行起来的程序,是动态的。
2)centos 7 的系统进程是sysytemd,可以fork出很多子进程
子进程具有与父系进程相同的地址空间,具有一定的身份标识。
3)进程的状态
1、 runing 运行 2、sleeping 睡眠
3、stopped 停止 4、zombie 僵死
二、进程管理
了解了进程的基本概念后,让我们开始管理进程吧
静态查看进程 ps aux | head -2
ps aux | head -2 剖析: ps 查看,aux 显示终端机下的所有程序,head 头 -2 两行。
如图所示, USER,PID,%CPU,%MEM,VSZ,RSS,等十一个字段。
2、图内共有十一个字段,分别代表不同含义,接下来我会带大家挨个儿认识它们。
(1) USER: 运行进程的用户 (2) PID:进程ID 每个进程只有一个,类似身份证
(3)%CPU: CPU的占用率 (4)%MEM:内存占用率
(5)VSZ : 占用虚拟内存 (6)RSS:占用实际内存
(7)TTY:进程运行的终端 (8)STAT:进程状态
(9)START: 进程的启动时间 (10)TIME :进程占用CPU的总时间
(11) COMMAND : 进程文件,进程名。
三、进程排序。
语法:ps aux --sort -%cpu ps aux --sort %cpu
示例:以CPU占比排列
按照CPU 降序排列示例。
按照CPU 升序排列示例。
四、进程的父子关系
1、语法:ps -ef
示例,大部分文件都是父程序生出子程序。
五、动态查看进程TOP
上半部分剖析如下:
第一行:top - 19:31:14 up 10:25, 2 users, load average: 0.00, 0.02, 0.05
程序名-系统时间-运行时间-登录用户数-cpu负载,1 5 15 分钟
第二行: Tasks: 102 total, 1 running, 101 sleeping, 0 stopped, 0 zombie
总进程数 , 运行数1 睡眠数101 停止数0 僵死数0
第三行:%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si,
Cpu使用占比 , us用户,sy系统,ni优先级,id空闲,wa等待,hi硬件,si软件,st虚拟机
第四行:KiB Mem : 995748 total, 673120 free, 183408 used, 139220 buff/cac
物理内存K,totai总共9G,free空闲6G ,userd使用100M,cac缓存硬盘内容1G
第五行:KiB Swap: 2097148 total, 2097148 free, 0 used. 667448 avail Me
交换分区 total 总共2G, free空闲2G,userd使用0次, avail 下次可用7G
下半剖析如下:
( 1 )PID:进程ID 每个进程只有一个,类似身份证。 ( 2 ) USER: 运行进程的用户
( 3 )RP:系统优先级 ( 4 )NI:优先级
( 5 )VIRT : 虚拟内存 ( 6 )RES:常驻内存0
( 7 )SHR : 共享内存 ( 8 ) S : 状态
( 9 )%CPU :CPU的占用率 ( 10 ) %MEM : 内存占用率
( 11 )TIME+ : 进程占用CPU的总时间
六、top小技巧
动态查看进程 top,像windows的任务管理器
[[email protected] ~]# top //回车,立刻刷新。按z彩色显示,按F,通过光标设置列的顺序。
[[email protected] ~]# top -d 1 //每1秒刷新。
[[email protected] ~]# top -d 1 -p 10126 查看指定进程的动态信息
[[email protected] ~]# top -d 1 -p 10126,1 查看10126和1号进程
七、使用信号控制进程,kill , 编号 信号名
1)SIGHUP 重新加载配置
2)SIGINT 键盘中断Ctrl+C
3) SIGQUIT 键盘退出Ctrl+\,类似SIGINT
9) SIGKILL 强制终止,无条件
15) SIGTERM 终止(正常结束),缺省信号
18) SIGCONT 继续
19) SIGSTOP 暂停
20)SIGTSTP 键盘暂停Ctrl+z
7-1 信号 9 , 15 示例
在客户0端创建两个文件,命名为file1 和 file2,查看自己终端tty
通过另一个终端1,打开vim file1 。
再通过一个终端2,打开vim file。
通过终端0,查询两个进程的状态,ps aux | grep vim。
通过发信号15和9,观察两个终端程序状态。
一个正常终止,一个被非法杀死。
八、进程优先级 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
相关文章:皓锋文化传媒:第五章:走进Linux世界——进程管理
相关文章:皓锋文化传媒:第四章:走进Linux世界——用户的权限
相关文章:皓锋文化传媒:第三章:走进Linux 世界—— 用户管理
相关文章:皓锋文化传媒:第二章:走进Linux 世界——文件管理
感谢大家的耐心阅读,最近有点忙,更新的不是很及时,无论是工作上还是生活上好像都不是很顺利一样,不过,我是打不死的小强嘛,如果您现在的处境跟我一样的话,希望能跟我一样乐观,今日分享,钱给我们带来不了快乐,但能为我们减少痛苦,致敬我们的明天会更好,干了这杯白开水,要敲代码啦,明天见,加油~