第七章 进程管理

发布时间:2016-12-6 22:22:52 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"第七章 进程管理",主要涉及到第七章 进程管理方面的内容,对于第七章 进程管理感兴趣的同学可以参考一下。

一.进程的基本概念 1. 进程的定义 是指程序关于某个数据集合的一次运行活动 (程序:具有一定目的性的指令集合 作业:用户提交给计算机要执行的程序) 2. 作业控制含义 控制用户正在运行的进程行为称为作业控控制 3. 进程的类型 交互进程:由shell启动,可以工作在前后台 批处理进程:不需要与终端相关,提交在等待队列的作业 守护进程:shell/linux系统自动启动,工作在后台,用于监视特定服务  4.进程启动方法  1)手工启动 前台:直接输入程序名(如:#vi) 后台:程序名后加&(如:#vi&)   2)调度启动   系统在指定时间运行指定的程序(at.batch.cron) 二.进程管理的常用命令 1. ps   功能:显示系统的进程信息 格式:ps  [参数] 参数:-a 显示所有进程(不包括没有终端的进程)    -u 显示用户名和启动时间    -x 显示没有终端的进程       -e 显示所有进程(不显示进程状态)     -w 宽行显示  实例:# ps    显示当前用户进程     # ps –aux   显示所有进程信息  USER PID %cpu %mem  vsz   rss    tty  stat  start  time command     Root  1 0.0  0.3   1096  476     ?    s    18:20      0:04      init USER:   进程的启动用户 PID:      进程号(进程的唯一标识) %CPU:   占CPU的百分比 %MEM:  占用内存百分比 VSZ:   虚拟内存大小 RSS:   内存大小(真实) TTY:   进程的工作终端(?表示没有终端) START: 进程的态状(S:休眠状态;R:运行态状;D:不可中断休眠状态;T:等待状态;Z:昏睡) 状态符号后面可以加上以下符号:  W:进程退出内存    N:高级别进程  <:低级别进程               Start  :启动时间  Time : 占用的cpu的时间 Command : 运行的程序 2. top 功能:动态显示系统进程信息 格式:top 实例:# top  (默认每5秒钟刷新一次) top的操作命令: help: 获取top的帮助 k: PID:杀死指定的进程 q:退出top 3. kill 功能:终止进程 格式:kill [参数] PID 参数:-1    从终端发出结束信号 -4   ctrl+c -5    从键盘发出退出请求(ctrl+\) -9    强制终止程序 -15   kill的默认信号 -e 显示信号值列表 实例:# ps          # kill  -9   3 # kill  -9  3,5,8  一次杀死多个程序      # kill  - 9 1-8   杀死1到8号进程 # kill  -9  0(表示所有后台进程) 4. killall 功能:终止进程 格式:killall  程序名 实例:#killall   vsftpd (杀死所有对应vsftpd程序的进程) 5. 设置进程优先级 优先级范围:-20-20(值越小表示级别越高,默认为10) (1) nice   格式:nice 优先级 命令  实例:# nice –5  ls          # nice -5  vi (2) renice 优先级 PID 实例:# renice –6  727 6. 作业的前后台操作 (1)jobs 功能:查看后台作业 实例:# jobs (2)fg 功能:把后台的程序调入前台运行 格式:# fg   [程序编号] 实例:#fg (队首的作为调入前台运行,最后入队列作业处于队首)       #fg 2(将队列中的2号调入前台运行) (3)bg 功能:将后台等待程序转入后台运行 格式:bg  程序编号(ctrl+Z将前台程序转入后台停止运行)                  (ctrl+c将终止前台程序的运行) 实例:#bg  (将队首的作业调入后台运行,最后入队列作业处于队首) #bg 3 (将3号作业调入后台运行) 三.任务的自动化 1. at (后台运行) 功能:安排系统在指定时间运行程序(只运行一次) 格式:at   [参数]    时间 参数:-m 指任务结束后会发送mail通知用户       -f 文件名:从指定文件中读取执行的命令       -g [a-z]:指定使用的队列       时间的表示方法:       绝对:midnight   当天午夜             moon      当天中午             teatime     当天下午4点             hh:mm     mm/dd/yy       相对:  now+n minutes (从现在起向后n分钟)              now+n days  (从现在起向后n天)              now+n hours (从现在起向后n小时)              now+n wecks (从现在起向后n周)       实例:# at  21:00 3/17/2004 >ls >cd /etc >init 0 ctrl+d(结束作业步) 2. batch 功能:安排一个作业让系统在指定时间运行(cpu经负载情况下) 格式:batch [参数(同 at参数)]  时间 实例:# batch  now+3 minutes # batch  17:00 03/19/2004 3. cron   功能:安排作业让系统在指定时间周期运行     原理:cron进程,每隔一分钟,检查/var/spool/cron目录下用户提交的作业文件中有无任务需要运行 配置:(1)建立crontab文件      # vi /root/root.cron 格式:分    时     日     月       星期        要运行的程序        0    12      1      1        *      /sbin/shutdown –r now  (0数字表示具体时间,*表示任何时间) 0   8—12    *      *        *         /sbin/tar –xzfvetc.tar.gz /etc/  (8-18从某时间到某时间) 25  0-23/2    *      12       *           rm –f /tmp/*  (0等同于*,*/n:每N时/分/天/月,0-23/2表示每隔2小时,即:0:25,2:25,4:25) 30    *      *      1,3,5     *           dump     (1,3,5:多种可用“,”隔开) (2)运行crontab命令 功能:生成用户的cron文件 格式:crontab  [参数]    文件名 参数:-u 用户名:指定具体用户的cron文件       -r          删除用户的crontab文件       -l          显示用户的cron文件   实例:# crontab /root/root.cron (建立当前标准格式用户crontab文件)        # crontab  –r  删除当前用户的cron文件 配置案例:root用户在每周2,4,6早上3点启重系统      # vi /root.cron(以root用户登录)  0   3    *  *   2,4,6    /sbin/shut\down   -r    now       # crontab   /root.cron 注意:1)etc/at.deny和etc/at/allow用于控制用户运行at的任务        at.deny和at.allow不存在,所有用户都能执行        at.deny:除at.deny文件记录的用户外其他用户都可以执行        at.allow:只有at.allow中的用户执行at        at.deny和at.allow都存在:at.allow中除at.deny中所记录的用户,剩余的用户可以执行at 2)默认的crontab 文件有: /etc/cron.hourly   /etc/cron.weekly   /etc/cron.moonly   /etc/cron.daily

上一篇:[置顶] 在IntelliJ下如何做parameterize method的重构
下一篇:题目1447:最短路 {最短路径问题}

相关文章

相关评论