您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > Linux系统引导及进程管理
第7章Linux系统引导及进程管理2本章内容熟悉Linux的引导流程熟悉Linux的运行级别会管理进程和服务会设置任务的计划运行3引导流程总览运行INIT进程读取/etc/inittab配置文件执行/etc/rc.d/rc.sysinit脚本执行/etc/rc.d/rc脚本初始化过程/etc/rc0.d/*/etc/rc1.d/*/etc/rc2.d/*/etc/rc3.d/*/etc/rc4.d/*/etc/rc5.d/*/etc/rc6.d/*启动mingetty进程加载内核(kernel)开机自检(BIOS)MBR引导GRUB菜单4INIT进程与配置文件INIT进程由Linux内核加载运行/sbin/init程序是系统中第一个进程,PID(进程标记)号永远为1配置文件:/etc/inittab[root@localhost~]#grep-v^#/etc/inittab|grep-v^$id:3:initdefault:si::sysinit:/etc/rc.d/rc.sysinitl0:0:wait:/etc/rc.d/rc0l1:1:wait:/etc/rc.d/rc1l2:2:wait:/etc/rc.d/rc2……去除注释行、空行5inittab文件的结构x:5:respawn:/etc/X11/prefdm-nodaemon字段说明id用于在inittab文件中唯一标识一个配置记录runlevels用于指定该记录在哪些运行级别中运行action用于描述记录将执行哪种类型的动作process用于设置启动进程所执行的命令id字段runlevels字段action字段prcocess字段6其他系统初始化文件/etc/rc.d/rc.sysinit由init进程调用执行完成设置网络、主机名、加载文件系统等初始化工作/etc/rc.d/rc脚本文件由init进程调用执行根据指定的运行级别,加载或终止相应的系统服务/etc/rc.local脚本文件由rc脚本调用执行保存用户定义的需开机后自动执行的命令7Linux系统的运行级别运行级别指运行Linux系统的不同模式每种模式对应不同的服务程序组合默认的7种运行级别0:关机状态1:单用户模式2:字符界面的多用户模式(不支持网络)3:字符界面的完整多用户模式4:未分配使用5:图形界面的多用户模式6:重新启动8Linux系统的运行级别调整默认运行级别修改/etc/inittab文件中的initdefault配置行[root@localhost~]#vi/etc/inittabid:3:initdefault:设置开机后自动进入纯字符模式9Linux系统的运行级别查看运行级别使用runlevel命令,分别显示:切换前的运行级别、当前运行级别临时切换运行级别使用init命令结合0-6的运行级别参数[root@localhost~]#runlevelN5[root@localhost~]#init3[root@localhost~]#runlevel53[root@localhost~]#init6[root@localhost~]#init0第一个字符为”N“表示之前未切换过运行级别10系统服务的启动控制查看系统服务的启动状态格式:chkconfig--listchkconfig--list服务名称服务脚本位置:/etc/init.d/etc/rc.d/init.d[root@localhost~]#chkconfig--listnetworknetwork0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭[root@localhost~]#chkconfig--listacpid0:关闭1:关闭2:关闭3:启用4:启用5:启用6:关闭anacron0:关闭1:关闭2:启用3:关闭4:启用5:关闭6:关闭apmd0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭……11系统服务的启动控制设置系统服务的启动状态格式:chkconfig--level级别列表服务名on|off[root@localhost~]#chkconfig--level2345networkon[root@localhost~]#chkconfig--listnetworknetwork0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭12系统服务的启动控制ntsysv系统服务管理工具格式:ntsysvntsysv--level级别列表13程序与进程的关系程序保存在硬盘、光盘等介质中的可执行代码和数据是静态保存的代码进程在CPU及内存中运行的程序代码是动态执行的代码父、子进程:每个进程可以创建一个或多个进程14查看进程信息ps命令用途:查看静态的进程统计信息格式:psauxps-elf常用命令选项a:显示当前终端下的所有进程信息u:使用以用户为主的格式输出进程信息x:显示当前用户在所有终端下的进程信息-e:显示系统内的所有进程信息-l:使用长格式显示进程信息-f:使用完整的格式显示进程信息[root@localhost~]#psauxUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot10.00.32648604?SApr020:13init[3]root20.00.000?SNApr020:00[ksoftirqd/0]root30.00.000?SApr020:19[events/0]root40.00.000?SApr020:00[khelper]……15查看进程信息top命令用途:查看动态的进程排名信息[root@localhost~]#toptop-06:08:48up4days,6:57,1user,loadaverage:0.00,0.00,0.00Tasks:60total,1running,59sleeping,0stopped,0zombieCpu(s):0.3%us,0.7%sy,0.0%ni,97.4%id,0.4%wa,0.1%hi,1.1%siMem:191228ktotal,171424kused,19804kfree,19436kbuffersSwap:265064ktotal,1284kused,263780kfree,120480kcachedPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND6779root1602536832668R3.80.40:00.04top1root1602648604520S0.00.30:13.54init2root3419000S0.00.00:00.07ksoftirqd/016查看进程信息pgrep命令用途:根据特定条件查询进程PID信息常用命令选项:-l:列出进程的名称-U:根据进程所属的用户名进行查找-t:根据进程所在的终端进行查找[root@localhost~]#pgrepinit1[root@localhost~]#pgrep-llog2538syslogd2541klogd3221login[root@localhost~]#pgrep-l-Uteacher-ttty127483bash27584vim17查看进程信息pstree命令用途:以树型结构显示各进程间的关系常用命令选项:-p:列出进程的PID号-u:列出进程对应的用户名-a:列出进程对应的完整命令[root@localhost~]#pstree-aupinit,1├─acpid,2866├─atd,3060├─auditd,2516│├─python,2518/sbin/audispd│└─{auditd},2517├─automount,2842……18进程的不同启动方式手工启动前台启动:用户输入命令,直接执行程序后台启动:在命令行尾加入“&”符号[root@localhost~]#cp/dev/cdrommycd.iso&[1]28454调度启动使用at命令,设置在某个特定的时间,执行一次任务使用crontab命令,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务后台任务序号为1,PID号为2845419进程的前后台调度Ctrl+Z组合键将当前进程挂起,即调入后台并停止执行jobs命令查看处于后台的任务列表fg命令将处于后台的进程恢复到前台运行,需指定任务序号[root@localhost~]#jobs[1]-Stoppedcp/dev/cdrommycd.iso[2]+Stoppedtop[root@localhost~]#fg120终止进程的运行Ctrl+C组合键中断正在执行的命令kill、killall命令kill用于终止指定PID号的进程killall用于终止指定名称的所有进程-9选项用于强制终止[root@localhost~]#pgrep-lportmap2869portmap[root@localhost~]#kill-92869[root@localhost~]#killall-9vim[1]-已杀死/usr/bin/vimfile1[2]-已杀死/usr/bin/vimfile221终止进程的运行pkill命令用途:根据特定条件终止相应的进程常用命令选项:-U:根据进程所属的用户名终止相应进程-t:根据进程所在的终端终止相应进程[root@localhost~]#w|grep-vroot14:10:10up6:08,4users,loadaverage:0.00,0.01,0.00USERTTYFROMLOGIN@IDLEJCPUPCPUWHATteachertty1-14:045:340.16s0.16s-bashhacklipts/1173.17.17.17414:054:320.17s0.17s-bash[root@localhost~]#pkill-9-tpts/1[root@localhost~]#w|grep-vroot14:12:22up6:10,3users,loadaverage:0.00,0.00,0.00USERTTYFROMLOGIN@IDLEJCPUPCPUWHATteachertty1-14:047:460.16s0.16s-bash踢出登录到系统的可疑用户hackli22小结请思考:Linux系统的引导流程包括哪些过程?脚本文件/etc/rc.d/rc主要起什么作用?如何使系统开机后默认进入字符模式?如何强制终止一个进程?若要查看httpd进程的PID号,可使用哪些方法?23atq命令用途:查询当前设置的at任务列表atrm命令:用途:删除指定任务编号的at任务格式:atrm编号计划任务管理——atat命令在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务服务脚本名称:/etc/init.d/atd设置格式:at[HH:MM][yyyy-mm-dd][root@localhost~]#serviceatdstart启动atd:[确定][root@localhost~]#at23:45atshutdown-hnowatEOTjob1at2009-09-1423:45[root@localhost~]#atq12009-09-1423:45aroot按Ctrl+D键提交任务启动atd系统服务24计划任务管理——crontabcrontab命令按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务服务脚本名称:/etc/init.d/crond主要设置文件全局配置文件,位于文件:/etc/crontab系统默认的设置,位于目录:/etc/cron.*/用户定义的设置,位于文件:/var/spool/cron/用户名[roo
本文标题:Linux系统引导及进程管理
链接地址:https://www.777doc.com/doc-3373442 .html