Linux进程管理李明E-mail/QQ:samlee@lampbrother.net课程大纲进程的概念进程管理命令计划任务1、程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。2、程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。进程和程序的区别1、子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程。2、在Linux系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。3、父进程终止子进程自然终止。父进程与子进程前台进程:在Shell提示处打入命令后,创建一个子进程,运行命令,Shell等待命令退出,然后返回到对用户给出提示符。这条命令与Shell异步运行,即在前台运行,用户在它完成之前不能执行另一个命令。后台进程:在Shell提示处打入命令,若后随一个&,Shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示。这条命令与Shell同步运行,即在后台运行。后台进程必须是非交互式的。前台进程和后台进程进程状态就绪:进程已经分配到资源,但因为其它进程正占用CPU,所以暂时不能运行而等待分配CPU的状态。等待:因等待某种事件而暂时不能运行的状态。运行:进程分配到CPU,正在处理器上运行。就绪状态运行状态等待状态进程调度时间片用完事件发生等待某事件发生开始进程基本状态及其变化进程状态细化12345678910中断返回用户运行态核心运行态停止(stop)在内存就绪在外存就绪在外存睡眠在内存睡眠唤醒无内存空间激活换出换出换出换入有内存空间在内存暂停终止态终止(exit)系统调用激活创建态创建(fork)在外存暂停进程状态细化用户态运行:在CPU上执行用户代码核心态运行:在CPU上执行核心代码在内存就绪:具备运行条件,只等调度程序为它分配CPU在内存睡眠:因等待某一事件的发生,而在内存中排队等待在外存就绪:就绪进程被交换到外存上继续处于就绪状态在外存睡眠:睡眠进程被交换到外存上继续等待在内存暂停:因调用stop程序而进入跟踪暂停状态,等待其父进程发送命令。在外存暂停:处于跟踪暂停态的进程被交换到外存上创建态:新进程正在被创建、但尚未完毕的中间状态终止态:进程终止自己查看用户信息ww显示信息的含义JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里PCPU:CPU执行程序耗费的时间WHAT:用户正在执行的操作查看个别用户信息:w用户名查看用户信息ww显示信息的含义loadaverage:分别显示系统在过去1、5、15分钟内的平均负载程度。FROM:显示用户从何处登录系统,“:0”的显示代表该用户时从XWindow下,打开文本模式窗口登录的IDLE:用户闲置的时间。这是一个计时器,一旦用户执行任何操作,该计时器便会被重置查看系统中的进程ps常用选项a:显示所有用户的进程u:显示用户名和启动时间x:显示没有控制终端的进程e:显示所有进程,包括没有控制终端的进程l:长格式显示w:宽行显示,可以使用多个w进行加宽显示查看系统中的进程psps常用输出信息的含义PID:进程号PPID:父进程的进程号TTY:进程启动的终端STAT:进程当前状态S休眠状态,D不可中断的休眠状态,R运行状态,Z僵死状态,T停止NI:进程优先级查看系统中的进程psps常用输出信息的含义TIME:进程自从启动以来启用CPU的总时间COMMAND/CMD:进程的命令名USER:用户名%CPU:占用CPU时间和总时间的百分比%MEM:占用内存与系统内存总量的百分比查看系统中的进程psps应用实例#ps查看隶属于自己的进程#ps-uor-l查看隶属于自己进程详细信息#ps-leor-aux查看所有用户执行的进程的详细信息#ps-aux--sortpid可按进程执行的时间、PID、UID等对进程进行排序查看系统中的进程psps应用实例#ps-aux|grepsam#ps-uUsam查看系统中指定用户执行的进程#ps-le|grepinit查看指定进程信息kill–杀死进程为什么要杀死进程该进程占用了过多的CPU时间该进程缩住了一个终端,使其他前台进程无法运行运行时间过长,但没有预期效果产生了过多到屏幕或磁盘文件的输出无法正常退出kill–关闭进程关闭进程:kill进程号kill-9进程号(强行关闭)kill-1进程号(重启进程)关闭图形程序:xkill结束所有进程:killall查找服务进程号:pgrep服务名称关闭进程:pkill进程名称nice和renicenice指定程序的运行优先级格式:nice-ncommand例如:nice-5myprogramrenice改变一个正在运行的进程的优先级格式:renicenpid例如:renice-5777*优先级取值范围为(-20,19)*nohup使进程在用户退出登陆后仍旧继续执行,nohup命令将执行后的数据信息和错误信息默认储存到文件nohup.out中格式:nohupprogram&进程的挂起和恢复进程的中止(挂起)和终止挂起(Ctrl+Z)终止(Ctrl+C)进程的恢复恢复到前台继续运行(fg)恢复到后台继续运行(bg)查看被挂起的进程(jobs)top作用:进程状态显示和进程控制,每5秒钟自动刷新一次(动态显示)常用选项:d:指定刷新的时间间隔c:显示整个命令行而不仅仅显示命令名top常用命令:u:查看指定用户的进程k:终止执行中的进程hor?:获得帮助r:重新设置进程优先级s:改变刷新的时间间隔W:将当前设置写入~/.toprc文件中计划任务为什么要设置计划任务计划任务的命令at安排作业在某一时刻执行一次batch安排作业在系统负载不重时执行一次cron安排周期性运行的作业at命令的功能和格式功能:安排一个或多个命令在指定的时间运行一次at的命令格式及参数at[-f文件名]时间at-doratrm删除队列中的任务at-loratq查看队列中的任务at命令指定时间的方式绝对计时方法midnightnoonteatimehh:mm[today]hh:mmtomorrowhh:mm星期hh:mmMM/DD/YY相对计时方法now+nminutesnow+nhoursnow+ndaysat命令指定时间的方式指定在今天下午17:30执行某命令(假设现在时间是下午14:30,2011年1月11日)。命令格式如下∶at5:30pmat17:30at17:30todayatnow+3hoursatnow+180minutesat17:3011.1.11at17:301/11/11at命令使用范例交互方式at9:00使用命令文件方式1.生成文件at.script:2.使用at命令at-fat.script9:002/2/11oratat.script9:002/2/11at配置文件作用:限制哪些用户可以使用at命令/etc/at.allow/etc/at.denyat的执行结果和配置文件如果/etc/at.allow文件存在,那么只有列在此文件中的用户才可以使用at命令;若/etc/at.allow文件不存在,则检查/etc/at.deny文件是否存在。若/etc/at.deny存在,则在此文件中列出的用户都不能使用at命令。如果两个文件都不存在,则只有超级用户可以使用at命令。如果两个文件都存在而且均为空,则所有用户都可以使用at命令。batch命令作用:安排一个或多个命令在系统负载较轻时运行一次(一般情况下负载较轻指平均负载降到0.8以下)。使用方法同atcrontab命令格式作用:用于生成cron进程所需要的crontab文件crontab的命令格式crontab{-l|-r|-e}-l显示当前的crontab-r删除当前的crontab-e使用编辑器编辑当前的crontab文件。crontab文件格式minutehourday-of-monthmonth-of-yearday-of-weekcommands其中Minute一小时中的哪一分钟[0~59]hour一天中的哪个小时[0~23]day-of-month一月中的哪一天[1~31]month-of-year一年中的哪一月[1~12]day-of-week一周中的哪一天[0~6]commands执行的命令书写注意事项选都不能为空,必须填入,不知道的值使用统配符*表示任何时间每个时间字段都可以指定多个值,不连续的值用,间隔,连续的值用-间隔。命令应该给出绝对路径用户必须具有运行所对应的命令或程序的权限crontab应用示例应用范例:#crontab-e5517**1-5/usr/bin/wall/etc/motd018**1-5/sbin/init5001,15*1/bin/cp-R/etc/backup/etc.0111*crontab文件建立好以后可以到/var/spool/cron目录确认cron配置文件作用:限制哪些用户可以使用crontab命令/etc/cron.allow/etc/cron.deny进程处理方式standalone独立运行xinetd进程托管atd、crond计划任务Thanks技术交流视频下载