版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4节 进程管理,Linux系统上所有运行的东西都可以称为一个进程。也即程序在并发环境(多个任务在内存里并存)中的执行过程,1,进程大致上来讲可分为两大类:系统进程与用户进程 系统进程不由用户启动,也叫守护进程。最重要的两个系统进程: 进程0,负责对系统中运行的进程进行合理的调度,即将进程从硬盘到内存的换入与换出,Linux核心创建的第一个进程。 进程1,init进程,系统的初始化进程,它是所有用户进程和非系统进程的祖先。 用户进程即普通的进程。,第4节 进程管理,进程与程序的区别?,2,1 进程:在系统中,触发任何一件事件时,系统都会将它定义为一个进程, 并且会给这个进程一个ID,称为PID
2、,同时会依据触发这个进程的用户与 相关属性关系,给这个PID一组有效的权限设置。,2.程序:当我们触发一个事件的时候,需要系统去执行一个文件,而系统只认识一个二进制文件,这个二进制文件就是我们所说的程序。,PID是根据UID和GID得来的,系统就是根据PID来判定一个程序是否具有权限进行工作的。,每一个进程都具有三组人的权限,每组人都有r/w/x的权限,所以不同 身份的人去执行同一个程序时,系统给的权限也是不同的,第4节 进程管理,3,可以通过Parent PID(PPID)来判定即可,即可以通过一个进程它的信息中 的父进程ID来判定 。如下所示:在目前的bash环境中,再一次触发bash 并
3、以“ps -l”去查看相关的输出信息。,什么是bash?,第4节 进程管理,什么是bash?,4,Shell:能够操作应用程序的接口 狭义的shell:指命令行方面的软件 广义的shell:包括图形界面软件,在弄清bash前需先弄清shell,shell,bash,Bash也是一个shell,而且是一个增加版的shell(也可理解为一个操作环境,它是一个shell,人机对话的窗口,它是一个程序,是一个gnu软件,一般linux中默认shell就是bash),很多时候我们明明将一个有问题的进程关掉了,怎么过一阵它又自动产生?,肯定有一个父进程存在(如果不是crontab工作调度的影响,),所以杀
4、掉子进程后,父进程就会主动再生一个,此时找出那个父进程删除即可。,为什么父进程会再生一个?,因为在Linux中,进程都会通过父进程以复制的方式产生一个一模一样的子进程,然后被复制出来的子进程再以exec的方式去执行实际的操作,?,第4节 进程管理,程序使用fork and exec调用情况示意图:,5,PID=x 程序=zzz,父进程,PPID=x PID=y 程序=zzz,PPID=x PID=y 程序=qqq,Fork(复制),Exec qqq,中间暂存进程,最终的子进程,1.父进程先以fork的方式复制一个与父进程相同的暂存 进程,这个进程与父进程唯一的区别是PID不同。但 是这个进程多
5、一个PPID参数,它是父进程的进程标识 符。 2. 然后暂存进程开始以exec的方式加载实际要执行的程 序。,第4节 进程管理,进程管理相关命令 1.ps进程查看命令,6,语法格式如下: ps 选项 常用选项含义如下: -f:全格式。 -l :长格式。 -e:显示所有进程。 上述三个命令它们的区别如右图所示 a:显示终端上的所有进程 u:使用用户格式输出 X: 显示没有控制终端的进程,第4节 进程管理,进程管理相关命令 1.ps常用的命令组合,7,Ps aux #查看系统所有的进程。注在aux前没有减号“-”,Ps lA同样用于查看系统所有的数据。,Ps l #仅查看自己的bash相关进程,第
6、4节 进程管理,进程管理相关命令 1.ps得到的进程信息包含哪些信息(共11列),8,USER代表该进程是属于哪个用户帐号的。,PID 此进程的进程标识符,%CPU 此进程使用掉的CPU资源百分比,%MEM 此进程所占用的物理内存百分,COMMON 此进程的实际命令,TIME 此进程实际使用CPU运行的时间,START 此进程被触发启动的时间,STAT 此进程目前的状态,TTY 此进程在哪个终端机上运行,RSS 此进程占用的固定内存量,VSZ 此进程所使用掉的虚拟内存量,第4节 进程管理,进程管理相关命令 1.ps进程信息详解,9,TTY 表示登录终端,如果说与终端机无关则为问号“?”,STA
7、T 表示此进程目前的状态,其中: R表示此进程正在运行 S表示此进程目前处于睡眠状态,但能被唤醒 D表示不可以被换醒的睡眠状态 T停止状态(可能因为控制台或其它出错) Z表示僵尸状态,即进程已经终止但无法删除,僵尸进程到底是什么?它是什么原因造成的,怎么解决?,第4节 进程管理,进程管理相关命令 僵尸,10,定义 僵尸进程是指:此进程应该已经执行完毕,或者因故应该要终止了,但是此进程的父进程却无法完整的将此进程结束掉,而造成那个进程一直存在于内存当中。,僵尸进程到底是什么?它是什么原因造成的,怎么解决?,原因 1. 程序写得不好 2.用户操作习惯不良,?,解决办法 找出此进程的父进程,然后进行
8、跟踪,再根据情况对主机的环境进行优化。看看什么地方需要改善,不只是直接将它杀掉。,判定 如果某个进程的COMMON后面还接上defunct时,此进程就是僵尸进程。,能从根本上解决吗?,事实上僵尸进程通常都是无法管控的,而是直接交给init这个程序来负责,它又是所有进程的父进程,不能杀死,如果系统无法通过内核来解决,只好重启,?,第4节 进程管理,2.top动态的查看进程的变化 显示系统当前的进程和其他状况 命令语法格式如下: top -dqsiupSc -d count -s time -u username 常用选项含义如下: d:指定每两次屏幕信息刷新之间的时间间隔。 q:表示没有任何延迟
9、地进行刷新。 s:表示安全模式下运行。,11,相对ps是选定一个时间点的进程状态,top则可以持续的检测进程的运行状态。,第4节 进程管理,2.top上半部分各行信息,12,第一行(top)依次为:(1)当前时间;(2)开机到目前为止所经历的时间;(3)已经登录系统的用户;(4)系统在1、5、15分钟的平均工作负载,第二行(tasks)依次为:(1)当前进程总量;(2)正在运行的进程;(3)处于睡眠状态的进程;(4)停止的进程;(5)僵尸数 注意这个地方的数字不为0,第三行(cpu(s) 为:CPU的整体负载情况。需特别注意%wa,代表的是I/Owait,如果系统变慢一般都是I/O的问题。,第
10、四、五行:代表物理内存和虚拟内存的使用情况。,第4节 进程管理,2.top下半部分各列信息,13,PID :每个进程的ID号,USER :进程所属用户,PR :进程优先执行顺序,越小越好,NI :与PR有关,也是越小越好,VIRT :进程需要的虚拟内存的大小,RES :进程当前使用内存的大小,SHR :除了自身进程外的共享进程使用内存情况 物理内存的大小=RES-SHR,S :在安全模式下使用,%CPU:CPU使用率,%MEN :内存使用率,TIME+ :CPU使用时间累加,COMMON :进程所使用命令,第4节 进程管理,2.top显示进程信息,14,排序规则: 进行信息的显示通常都是按照C
11、PU与内存的使用率来进行排序的,思考: 如果我们要查看的进程CPU与内存使用率都很低,结果总是无法在前面几行显示,应该怎么办?以当前bash为例分析。 提示:1.#echo $ 可回显当前bash的PID 2.PID查询命令为”pgrep common”,?,第4节 进程管理,2.top显示进程信息,15,思考: 如果我们要查看的进程CPU与内存使用率都很低,结果总是无法在前面几行显示,应该怎么办?,1、首先取得PID,2、显示该PID对应的进程情况,注意:当我们使用完top命令后需要按q键退出。,第4节 进程管理,3. renice修改进程权限 renice命令允许用户修改一个正在运行进程的
12、优先权。利用renice命令可以在命令执行时调整其优先权。其命令语法格式如下:,16,前述已提表示进程的优先顺序是通过:PR/PRI和NI. 它们的值越低代表它们越优先 但是PR/PRI的值是由内核动态来调整的,用户无法直接调整 如果我们要调整进程的优先顺序就只有通过调整nice值,即NI,第4节 进程管理,3. renice修改进程优先权 其命令语法格式如下: renice -number PID 其中,参数number表示优先级别号。示例:,17,1 只能对自己所拥有的进程使用renice命令 2 root用户可以在任何进程上使用renice命令 3只有root用户才能提高进程的优先权,注
13、:优先权的调整范围为:-2019,第4节 进程管理,3. renice修改进程优先权 思考:是否修改所有的进程的优先权都是使用renice命令?,18,修改优先权的另一命令:nice renice适用范围:已存在的进程nice值重新调整 nice 适用范围:新执行的命令即给新的nice值。,PRI与NI的关系如下: PRI(new)=PRI(old)+nice 使用格式为:“nice n 数字 命令”如:,上节回顾,19,1.进程的三种状态 2.进程与程度的区别 3.什么是bash/shell 4.进程信息的查看(某一时刻的与动态的) 5.僵尸进程(判定、定义、解决) 6.进程权限的修改命令(
14、renice /nice)。,第4节 进程管理,3. nice修改进程优先权的另一命令 使用nice命令的注意事项:,20,Nice值可调整范围为:-2019 Root可随意调整自己或他人进程的Nice值,且范围为-2019 一般用户仅可调整自己进程的Nice值,且范围为019(避免一般用户抢占系统资源) 一般用户仅可以将Nice值越调越高,思考: 1.既然nice值既可以调大,又可以调小,那么什么情况下需要将其调大? 2. 什么情况使用nice命令,什么情况使用renice命令? 3. 父进程与子进程之间的nice值有什么关联?,第4节 进程管理,21,思考: 1.既然nice值既可以调大,
15、又可以调小,那么什么情况下需要将其调大? 答:一些不重的进程,并且又相当耗资源,这个时候就可以将其调大,如备份工作等。,2. 什么情况使用nice命令,什么情况使用renice命令? 答:如果调整的是已经存在的进程使用renice; 如果一开始执行程序就立即给一个特定的nice值用nice命令。,3. 父进程与子进程之间的nice值有什么关联? 答:nice值,是可以在父进程与子进程之间传递的,即一个父进程的nice值更改,子进程的nice值也跟着更改。,第4节 进程管理,4. wait wait命令将实现对一个进程的等待。命令格式为: wait n 等待进程号为n的一个进程的完成并将报告进程
16、的终止状态。没有参数,则将等待所有后台进程的完成并返回代码0。 示例:等待进程号为13199的进程结束。,22,5. sleep sleep命令,将进程的执行挂起一段时间。语法格式为: sleeptime 即使得shell挂起time秒后,相当于先停顿time秒,再继续执行。,第4节 进程管理,6. at 实现指定时刻执行指定的命令序列。 语法格式: at -V -q queue -f filename -mldbv time,23,在任何情况下,超级用户都可以使用at命令。对于其他用户来说,是否可以使用就取决于两个文件:/etc/at.allow和/etc/at.deny。,?,思考:能否所
17、有人都可以进行at工作调度,为什么?,第4节 进程管理,24,思考:能否所有人都可以进行at工作调度,为什么?,当然不能,因为安全原因,许多主机被一些软件“绑架”后,系统当中多了很多黑客程序,这些程序可能运用工作调试来执行或搜集系统信息,并定时回报给黑客团体,如何解决 被攻击呢?,1.在系统中,通常保留有一个空的/etc/at.deny文件,意思是允许所有人使用at命令的意思,如果我们不希望某些用户使用at的话,将那个帐号写入/etc/at.deny即可。 2. 利用/etc/at.allow这个管理更严格的文件,把我们允许使用at命令的帐号写入其中即可。 3.如果有多个帐号,一个帐号写一行即
18、可。,第4节 进程管理,7. cron Linux系统提供cron命令可以按一定时间自动完成任务调度。它与at命令的区别是:at命令只执行一次,而cron命令用于循环执行例行性工作 cron命令执行过程中,首先cron命令会搜索/var/spool/cron目录,寻找以/etc/passwd文件中的用户名命名的crontab文件,被找到的这种文件将载入内存。,25,Cron命令的执行不需要用户干涉,通过crontab命令创建好cron要执行的文件后,在指定时间,它会自动执行。 Cron执行的每一项工作都会被记录到/var/log/cron这个日志文件。所以,如果我们的LINUX里面不知道是否被
19、植入木马时,也可以查询一下/var/log/cron这个文件,看是否有些命令并不是我们所要求执行的。,第4节 进程管理,8. crontab crontab命令用于安装、删除或者列出用于驱动cron后台进程的表格。 每个用户都可以有自己的crontab文件。 crontab文件(即.cron类型文件)是通过crontab命令得到的。,26,注意:执行crontab文件时,如果是系统管理员,不需要权限;如果是普通用户,执行时需要权限。系统用/etc/cron.allow文件和/etc/cron.deny文件控制普通用户执行crontab的权限。即允许执行crontab命令的放在/etc/cron.allow里,不允许的放在/etc/cron.deny文件里,Crontab 文件中的内容必须按照固定的格式书写。共六个域,少一项都不可。,第4节 进程管理,8. crontab 在Crontab 文件的六个域间必须使用空格或者制表符隔开。如果不需要指明其中的项也必须用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 凉山州经济和信息化局招聘园区产业发展服务专员考试真题2025
- 2型糖尿病胰岛β细胞功能评估与保护临床专家共识总结2026
- 简化型咨询合同协议
- 2023年超小型微特电机企业组织架构及部门职责
- 中班安全出口
- 遗传性耳聋基因筛查技术
- 高职单招语文模拟试题及答案详解
- 电焊工安全培训试卷测试题及答案
- (2026年)弃土场合同范本
- 2026笔试结构化面试题及答案
- 数学课程与教学论(傅海伦)
- 幼儿美术团扇课件
- 消防队保密安全课件
- 《带式输送机安全运行》培训课件2025
- 国际疾病诊断编码库ICD-11(带疾病科室分类)
- DB37T3418-2018标准化池塘建设改造技术规范
- 水利工程质量安全标准化方案
- DB51∕T 5066-2018 四川省居住建筑油烟气集中排放系统应用技术标准
- 2024年北京中考地理试卷
- 《微生物基础》课件-革兰氏染色
- DL-T5191-2004风力发电场项目建设工程验收规程
评论
0/150
提交评论