第 7章进程管理与系统监视
7-1 进程与作业管理
7-1-1 进程与作业简介
7-1-2 启动进程与作业
7-1-3 桌面环境下管理进程与作业
– 1,查看进程
– 2,修改进程优先级
– 3,终止进程
7-1-4 管理进程与作业的 Shell命令
7-1-5 进程调度
7-1-1 进程与作业简介
1,进程 是具有独立功能的程序的一次运行过程,
是系统资源分配和调度的基本单位 。 PID
2,正在执行的一个或多个相关进程可形成一个作业 。 一个作业可启动多个进程 。
– 前台作业:运行于前台,用户正对其进行交互操作 。
– 后台作业:不接收终端输入,向终端输出执行结果 。
3,进程的状态:
– 就绪,运行,等待,挂起,终止,休眠,僵死状态
4,进程的优先级:
– Linux中进程优先级的取值范围为 -20~19之间的整数,
取值越低,优先级越高,默认为 0。
7-1-2 启动进程与作业( 1)
1,进程与作业的启动方式
( 1)手工启动是指由用户输入 Shell命令后直接启动进程。
– 前台启动:用户输入一个 Shell命令后按下 Enter键就启动了一个前台作业。
– 后台启动,Shell命令的末尾加上,&”符号,再按下 Enter键,那么就将启动一个后台作业。
( 2)调度启动是系统按用户要求的时间或方式执行特定的进程。 Linux中可实现 at调度、
batch调度和 cron调度
7-1-2 启动进程与作业( 2)
2,作业的前后台切换
( 1) bg命令格式,bg [作业号 ]
功能:将前台作业切换到后台运行 。 若没有指定作业号,
则将当前作业切换到后台 。
[例 7-1] 使用 vi编辑 f1文件,然后使用 Ctrl+Z组合键挂起 vi,
再切换到后台 。
7-1-2 启动进程与作业( 3)
2,作业的前后台切换
( 2) fg命令格式,fg [作业号 ]
功能:将后台作业切换到前台运行 。 若没有指定作业号,
则将后台作业序列中的第一个作业切换到前台运行 。
[例 7-2] 将上例中的作业号为 1的作业切换到前台继续编辑 。
7-1-4 管理进程与作业的
Shell命令( jobs)
1,jobs命令格式,jobs [选项 ]
功能:显示当前所有的作业 。
主要选项说明,-p( process),-l( list)
[例 7-3] 显示所有的作业,并显示 进程号 。
7-1-4 管理进程与作业的
Shell命令( ps)
2,ps命令格式,ps [选项 ]
功能:显示进程的状态 。 无选项时显示当前用户在当前终端启动的进程 。
主要选项说明:
-a( all),-e,-l( list),-u( user),-x,-t
[例 7-4] 使用,-l”选项显示当前进程的详细信息 。
7-1-4 管理进程与作业的
Shell命令( kill)
3,kill命令格式 1,kill [选项 ] 进程号格式 2,kill % 作业号功能:终止正在运行的进程或作业 。 超级用户可终止所有的进程,普通用户只能终止自己启动的进程 。
主要选项说明,- 9 强行终止指定进程 。
[例 7-6] 假设某进程的进程号为 2683,终止此进程 。
7-1-4 管理进程与作业的
Shell命令( nice)
4,nice命令格式,nice [-优先级值 ] 命令功能:指定将启动的进程的优先级 。 不指定优先级值时,将优先级设置为 10。
[例 7-7] 启动 ftp程序,其优先级为 5。
7-1-4 管理进程与作业的
Shell命令( renice)
5,renice命令格式,renice 优先级值 参数功能:修改运行中的进程的优先级,设定指定用户或组群的进程优先级 。
主要参数说明,-p 进程号,-u 用户名,-g 组群号
[例 7-8] 将 hellen用户的进程优先级调高为 -5。
7-1-5 进程调度
Linux允许用户根据需要在指定的时间自动运行指定的进程,也允许用户将非常消耗资源和时间的进程安排到系统比较空闲的时间来执行。
– 对于偶尔运行的进程采用 at或 batch调度。
– 对于特定时间重复运行的进程采用 cron调度。
at
1,at调度格式,at [选项 ] [时间 ]
功能:设置指定时间执行的指定的命令 。
主要选项说明:
–f 文件名( file),-l( list),-d( delete)
时间表示,绝对,相对,直接计时法
[例 7-9] 在 2004年 12月 31日 23点 59分向登录在系统上的所有用户发送,Happy New Year”信息 。
batch
2,batch调度格式,batch [选项 ] [时间 ]
功能:与 at命令几乎相同一样,唯一的区别是如果不指定运行时间,进程将在系统较空闲时运行 。 batch调度适合于时间上要求不高,但运行时占用系统资源较多的工作 。 batch命令的选项与 at命令相同 。
cron
3,cron调度
at调度和 batch调度中指定的命令只能执行一次 。 但在实际的系统管理中有些命令需要在指定的日期和时间重复执行,例如每天例行要做的数据备份 。 cron调度正可以满足这种需求 。 cron调度与 crond进程,crontab命令和 crontab配置文件有关 。
cron
( 1) crontab配置文件
o crontab配置文件保留 cron调度的内容,共有 6个字段,从左到右依次为分钟、小时、日期、月份、星期和命令。
o 如果执行的命令未使用输出重定向,那么系统将会把执行结果以邮件的方式发送给 crontab
文件的所有者。
o 用户的 crontab配置文件保存于
/var/spool/cron目录中,其文件名与用户名相同。
cron
( 2) crontab命令格式,crontab [选项 ]
功能:维护用户的 crontab配置文件 。
主要选项说明:
-e( edit),-l( list),-r( erase)
cron
( 3) crond进程
crond进程在系统启动时自动启动,并一直运行于后台 。
crond进程负责检测 crontab配置文件,并按照其设置内容,定期重复执行指定的 cron调度工作 。
[例 7-10] hellen用户设置 cron调度,要求每周五的 17点 00
分将 /home/hellen/data目录中的所有文件归档并压缩为
/backup目录中的 hellen-data.tar.gz文件 。
输入,crontab -e”命令后,启动 vi文本编辑器,用户输入以下配置内容后保存退出 。
7-2 系统监视
7-2-1 桌面环境下监视系统
「 主菜单 」 =>「 系统工具 」 =>「 系统监视器 」
可实现对 CPU,硬盘,内存和交换分区的实时监视
7-2-2 实施系统监视的 Shell命令
7-2-2 实施系统监视的
Shell命令( who )
1,who命令格式,who [选项 ]
功能:查看当前已登录的所有用户 。
主要选项说明,-m,-H( heading)
[例 7-12]当前所有用户的详细信息 。
7-2-2 实施系统监视的
Shell命令( top )
2,top命令格式,top [-d 秒数 ]
功能:动态显示 CPU利用率,内存利用率和进程状态等相关信息,是目前使用最广泛的实时系统性能监视程序 。 默认每 5秒钟更新显示信息,而,-d 秒数,选项可指定刷新频率 。
[例 7-13] 动态监视系统性能,每 10秒刷新一次注,top命令默认按照进程的 CPU使用率排列所有的进程 。 按下 M键将按照内存使用率排列所有进程,按下 T键将按照进程的执行时间排列所有进程,而按下 P键将恢复按照 CPU使用率排列所有进程 。
最后按下 CTRL+C组合键或者 q键结束 top命令 。
7-2-2 实施系统监视的
Shell命令( free )
3,free命令格式,free [选项 ]
功能:显示内存和交换分区的相关信息 。
主要选项说明,-m,-t( total),-s 秒数
[例 7-14] 显示内存,缓存和交换分区的使用情况 。
7-3 系统日志管理
系统日志记录着系统运行的详细信息。
系统日志文件都保存于 /var/log目录中:
– boot.log,cron,dmesg,maillog,spooler、
rpmpkgs,secure,messages,XFree86.0.log
直接查看 /var/log目录中日志文件的内容
「主菜单」 =>「系统工具」 =>「系统日志」