第11章进程管理1剖析

上传人:今*** 文档编号:106887307 上传时间:2019-10-16 格式:PPT 页数:55 大小:16.81MB
返回 下载 相关 举报
第11章进程管理1剖析_第1页
第1页 / 共55页
第11章进程管理1剖析_第2页
第2页 / 共55页
第11章进程管理1剖析_第3页
第3页 / 共55页
第11章进程管理1剖析_第4页
第4页 / 共55页
第11章进程管理1剖析_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《第11章进程管理1剖析》由会员分享,可在线阅读,更多相关《第11章进程管理1剖析(55页珍藏版)》请在金锄头文库上搜索。

1、第11章 进程和信号,第11章进程和信号,1 进程的结构,调度和类型。 2 用不同的方法启动新的进程。 3 父进程,子进程和僵尸进程。 4 什么是信号以及如何使用它们。,第11章进程和信号,进程的概念 进程管理命令 计划任务,11.1 进程管理相关概念,进程的概念:进程简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。 程序和进程的区别: (1)程序是个静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,是一个动态概念,有一个生命周期,是动态产生和消亡的。 (2)程序和进程无一一对应关系。一个程序可以由多个进程共用,另一方面,一个进程在活动中又可以顺序执行若干个程

2、序。,一、程序和进程,二、父进程与子进程,父子进程之间的关系: 子进程是由一个进程产生的进程,产生这个子进程的进程称为父进程。 在linux系统中使用系统调用fork创建进程。fork复制的内容包括父进程的数据,堆栈段以及父进程的进程环境。 父进程终止子进程自然终止。 如果父进程终止了而子进程没有终止,子进程则变成孤儿进程,它的父进程会自动被指向到init。 如果子进程终止了,而父进程不知道,子进程会变成僵尸进程。(进程的数字标示:PID,父进程:PPID),三、前台进程和后台进程,前台进程: 在shell提示处打入命令后,创建一个子进程,运行命令,shell等待命令退出,然后返回到对用户给出

3、提示符。这条命令与shell异步运行,即在前台运行,用户在它完成之前不能执行另一命令。 后台进程: 在shell提示处打入命令,若后随一个&,shell创建的子进程运行此命令,但不等待命令退出,直接返回到对用户给出提示符。这条命令与shell同步运行,即在后台运行,后台进程必须是非交互式的。,四、进程状态,就绪:进程已经分配到资源,但因为其他进程正在占用CPU,所以暂时不能运行而等待分配CPU 的状态。 等待:因等待某种事件暂时不能运行的状态。 运行:进程分配到CPU,正在处理器上运行。,进程状态细化,进程状态细化,用户态运行:在CPU上执行用户代码 核心态运行:在CPU上执行核心代码 在内存

4、就绪: 具备运行条件,只等调度程序为它分配CPU 在内存睡眠:因等待某一事件的发生,而在内存中排队等待 在外存就绪:就绪进程被交换到外存上继续处于就绪状态 在外存睡眠:睡眠进程被交换到外存上继续等待 在内存暂停:因调用stop程序而进入跟踪暂停状态,等待其父进程发送命令 在外存暂停:处于跟踪暂停状态的进程被交换到外存上 创建态:新进程正在被创建、但尚未完毕的中间状态 终止态:进程终止自己,11.2 进程的结构及管理命令,进程结构:代码段、数据段、堆栈段 进程管理常用命令 查看用户信息命令w(who),w 显示信息的含义 JCPU:以终端代号来区分,该终端所有相关的进程执行时所消耗的CPU时间会

5、显示在这里。 PCUP: CPU执行程序耗费的时间 WHAT:用户正在执行的操作。 查看个别用户信息:w用户名 load average:分别显示系统于过去1、5、15分钟内的平均负载程度。 FORM:显示用户从何处登陆系统,“:O”的显示代表该用户是从x Windows下,打开文本模式窗口登陆的. IDLE:用户闲置的时间。这是个计时器,一旦用户执行任何操作,该计时器便会被重置。,查看用户信息命令w(who),进程查看命令PS,-A 显示所有进程(等价于-e)(utility)-all -a 显示一个终端的所有进程,除了会话引线 -N 忽略选择。 -d 显示所有进程,但省略所有的会话引线(u

6、tility) -x 显示没有控制终端的进程,同时显示各个命令的具体路径。) -p pid 进程使用cpu的时间 -u uid or username 选择有效的用户id或者是用户名 -g gid or groupname 显示组的所有进程。 -w 宽屏显示,可以使用多个w进行加宽显示,进程查看命令PS,-f 全部列出,通常和其他选项联用。 如:ps -fa or ps -fx and so on. -l 长格式(有F,wchan,C 等字段)-显示详细信息 -j 作业格式 -o 用户自定义格式。 v 以虚拟存储器格式显示 s 以信号格式显示 -m 显示所有的线程 -H 显示进程的层次(和其它

7、的命令合用, 如:ps -Ha)(utility) e 命令之后显示环境 如:ps -d e; ps -a e h 不显示第一行,进程查看命令PS,ps常用输出信息含义: PID:进程号 PPID:父进程的进程号 TTY:进程启动的终端 STAT:进程当前状态 S休眠状态、 D不可中断状态的休眠状态、 R运行状态、 Z僵死状态、 T停止 NI:进程优先级 TIME:进程自从启动以来启用CPU的总时间 COMMAND/CMD:进程的命名名 USER:用户名 %CPU:占用CPU时间和总时间的百分比 %MEM:占用内存与系统内存总量的百分比,进程查看命令PS,ps应用案例 # ps 查看隶属于当前

8、用户的进程,# ps -u 或 # ps -l 查看隶属于当前用户进程的详细信息,进程查看命令PS,ps应用案例 # ps -l 查看隶属于当前用户进程的详细信息,# ps -u ps -l 查看隶属于当前用户进程的详细信息,进程查看命令PS,ps应用案例 # ps -le 或 #ps -aux 查看所有用户执行的进程的详细信息(more),# ps -aux l more,进程查看命令PS,ps应用案例 #ps -aux | grep httpd,# ps -aux -short uid 或pid 或 time 由小到大排序,进程查看命令PS,ps应用案例 #ps -aux | grep s

9、am #ps -uU sam 查看系统中指定用户执行的进程,进程查看命令PS,ps应用案例 # ps -le | grep init 查看指定进程信息,init 进程它的进程号位1,它父进程 内核调度器 进程号为0。,进程查看命令PS,ps应用案例 # pstree | more 查看系统中所用进程信息,kill-杀死进程,为什么要杀死进程? 该进程占用了过多的CPU时间 该进程锁住了一个终端,使其他前台进程无法运行 运行时间过长,但没有预期效果 产生过多到屏幕或磁盘文件的输出 无法正常退出,kill-关闭进程,关闭进程:kill进程号 kill-9 进程号 (强行关闭) kill-1 进程号

10、(进程重启) 关闭图形程序:xkill 结束所有进程:killall 查找服务进程号:pgrep 服务名称 关闭进程:pkill 进程号,kill- 杀死进程,# kill 进程号 (子进程号) 关闭进程,# kill 进程号 (父进程号) 关闭进程,kill- 杀死进程,# kill -l 列出kill所有的信号,kill- 杀死进程,# kill -9(早期# kill -s 9 )9信号 SIGKILL-强行关闭 早期init进程可以被系统管理员通过kill-9 关闭,结果是系统重启。现在的linux系统里面不能进行这样的操作了。 kill-1 进程号 进程重启。 xkill 鼠标点击任

11、何图形程序。就可已关闭该图形程序,如果你执行xkill鼠标没地方可点,点击右键就可以取消。但是千万别对着桌面点,系统会认为你要关闭xwindows,结果xwindows会运行错误。 killall 关闭所有同名的进程,特殊命令,系统目录下有个proc目录,他是process的缩写。它并不是存放在硬盘上的,而是存放在内存镜像中。里面存放的都是每个进程的pid所命名的目录名。同时还存放系统信息。比如可以在/proc/cpuinfo cpu的信息。,proc目录,# pgrep 服务名 所有进程的pid 如果没启动就不显示,如果启动就如下图。,用#pkill 服务名称 就可以关闭服,不需要知道进程的

12、pid,nice 和 renice,nice 指定程序的运行优先级 格式:nice -n command 例如:nice -5 myprogram renice 改变一个正在运行的进程的优先级 格式:renice n pid 例如:renice -5 777 优先级取值范围(-20,19),默认0,值越小优先权越大,nice 和 renice,启动一个服务通过查看命令,可以查看进程的默认优先级是0。,启动一个服务时通过nice直接修改进程的优先级为 -5,nice 和renice,不需要停止服务,用renice 改变服务进程的优先级为-30,nohup命令,使进程在用户退出登陆后仍旧继续执行,

13、nohup命令将执行后的数据信息和错误信息默认保存在文件nohup.out中。 格式: nohup program &,进程的挂起和恢复,进程的挂起 挂起(Ctrl+Z) 终止(Ctrl+C) 进程的恢复 恢复到前台继续执行(fg) 恢复到后台继续执行(bg) 查看被挂起的进程(jobs),top 命令,作用:进程状态显示和进程控制,每5秒钟自动刷新一次(动态显示) 常用选项(退出top用q) d:指定刷新的时间间隔 c:显示整个命令行而不仅仅显示命令名 u:显示指定用户的进程 k:终止正在执行的进程 h or ?:获得帮助 r:重新设置进程优先级 s:改变刷新的时间间隔 w:将当前设置写入/

14、.toprc文件中,计划任务,为什么要设置计划任务 一次性计划任务 周期性计划任务 计划任务的命令 at : 安排作业在某一时刻执行一次 batch: 安排作业在系统负载不重时执行一次 cron :安排周期性运行的作业,at命令的功能和格式,功能:安排一个或多个命令在指定的时间运行一次 at的命令格式及参数 at-f 文件名 时间 at-d or atrm 删除队列中的任务 at-l or atq 查看队列中的任务,at命令指定时间的方式,指定在今天下午17:30执行某命令(现在时间是上午9:30,2015.10.27)。 命令格式如下: at 5:30 pm at 17:30 at 17:3

15、0 today at now+ 8 hours at now+ 480 minutes at 17:30 10.27.15 at 17:30 10/27/15 书写at命令需要些绝对路径。写完以后按Ctrl+D保存 如到时间没有执行这个计划任务,可用finger 命令查看,at命令使用范例,交互方式(Ctrl+D 保存) at 9:00 使用命令文件 at.script: at -f at.script 9:00 10/29/15 at at.script 9:0010/29/15,finger查看计划任务at命令执行情况,# finger root,查询是否有计划任务和如何删除计划任务,#

16、at -l 或者 # atq 查询当前所有没被执行的计划任务,查询是否有计划任务,# at -l 或者 # atq 查询当前所有没被执行的计划任务,如何删除计划任务,# at -d 计划任务号 或者 # atrm 计划任务号,at配置文件,限制哪些用户可以使用at命令 /etc/at.allow /etc/at.deny,at命令使用规则: 若/etc/at.allow文件存在,则只有列在此文件中的用户才可以使用at命令; 若/etc/at.allow文件不存在,则检查/etc/at.deny文件是否存在。 若/etc/at.deny存在,则在此文件中列出的用户都不能使用at命令。 如果两个文件都不存在,则只有超级用户可以使用at命令。 如果两个文件都存在且均为空,则所以用户都可以使用at文件。,batch命令,作用:安排一个或多个命令在系统负载较轻的时运行一次

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号