




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章 管理进程和计划任务Ubuntu的引导流程关于系统启动,熟悉Ubuntu的人大多应该知道,init进程(PID=1)乃是所有进程的父进程,所有进程由它控制。init进程的运行时间是内核完成文件系统的加载后。Ubuntu启动顺序是:1. init读取/etc/init/rc-sysinit.conf文件来确定启动等级2. 传递参数给/etc/init.d/rc3. 根据参数执行/etc/rcN.d/下面的链接文件Ubuntu运行级别Ubuntu系统有一个所谓的运行级别,这个可以让系统以单用户或者多用户模式运行。0 关机1 单用户工作模式2 多用户运行模式,ubuntu默认运行级别3 4 5暂未定义,可供用户定义其他多用户工作模式。6 重启系统练习1:查看运行级别 本练习查看ubuntu的运行级别和最近一次更改运行级别的日期和时间,进入单用户模式,可以避免多个用户同时操作服务器。一般用于维护服务器。rootubuntuServer:# who -r run-level 2 Feb 14 16:55或输入以下命令也能看到运行级别rootubuntuServer:# runlevelN 2输入init 1进入单用户级别 需要输入root的密码再次输入runlevel 查看运行级别 可以看到是进入单用户模式这时你就不能使用putty这样的软件进行多用户连接。按ctrl+alt+F1或F2进行多用户登录了。你发现?练习2:设置系统服务在不同运行级别中的状态我们可以设置应用程序在不通的运行级别中是否启用。比如你的ubuntu服务器白天做DNS服务器,晚上做DHCP服务器和VPN服务器,你可以定义DNS服务在运行级别2运行,DHCP和VPN在运行级别3上运行,这样你只需在晚上更改运行级别为3即可。1. 使用sysv-rc-conf查看服务在不同运行级别中的状态安装sysv-rc-conf 该工具能够更改服务在不同级别的运行状态Apt-get install sysv-rc-conf安装完成后运行sysv-rc-conf可以修改服务在不同运行级别的状态,按空格键 取消或选中按q键退出。查看当前运行级别,查看apache运行状态,将运行级别设置为3,输入netstat antp查看apache服务是否运行,可以看到apache服务侦听的端口已经消失。更改回level 2进程管理例如提供Web服务的httpd程序,当有大量用户同时访问web页面时,httpd程序可能会创建多个进程来提供服务查看进程使用ps命令工具时,要注意选项前是否有”-“引导符,例如”e“和”-e”选项的含义是有区别的ps命令结合“aux”选项使用时,将显示系统中所有的进程信息PID:该进程在系统中的数字ID号,在当前系统中是唯一的; %CPU:CPU占用百分比; %MEM:内存占用百分比 ps命令结合“-elf”选项使用时,将以长格式显示系统中所有的进程信息,包含更丰富的内容(其中PPID列表示进程的父进程的PID号)练习3:查看当前会话中所有进程不带参数 只显示当前用户会话中所打开的进程rootubuntuServer:# ps PID TTY TIME CMD19493 pts/0 00:00:00 bash19548 pts/0 00:00:00 ps显示系统中所有进程信息rootubuntuServer:# ps aux | moreUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.2 24052 2184 ? Ss 08:16 0:01 /sbin/initroot 2 0.0 0.0 0 0 ? S 08:16 0:00 kthreaddroot 3 0.0 0.0 0 0 ? S 08:16 0:00 ksoftirqd/0root 5 0.0 0.0 0 0 ? S 08:16 0:01 kworker/u:0root 6 0.0 0.0 0 0 ? S 08:16 0:00 migration/0root 25 0.0 0.0 0 0 ? S 08:16 0:00 ecryptfs-kthre结合-elf选项,将以长格式显示系统中所有进程信息rootubuntuServer:# ps -elf | moreF S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD4 S root 1 0 0 80 0 - 6013 poll_s 08:16 ? 00:00:01 /sbin/init1 S root 2 0 0 80 0 - 0 kthrea 08:16 ? 00:00:00 kthreadd显示 所有进程 过滤bash命令rootubuntuServer:# ps aux | grep bashroot 1386 0.0 1.2 37636 13044 tty1 S+ 08:18 0:04 -bashroot 2876 0.0 0.4 28384 4108 tty2 S 08:49 0:00 -bashroot 19493 0.0 0.4 28480 4200 pts/0 Ss 15:52 0:00 -bashroot 19559 0.0 0.0 8572 644 pts/0 S+ 15:55 0:00 grep -color=auto bash练习4:查看进程动态信息top命令,动态查看每隔3秒刷新一次,按按键:P、M、N、h、q按P键根据CPU占用情况对进程列表进行排序 按M键根据内存占用情况进行排序按N键根据启动时间进行排序按h键可以获得top程序的在线帮助信息按q键可以正常退出top程序使用空格键可以强制更新进程状态显示rootubuntuServer:# toptop - 15:56:46 up 7:39, 3 users, load average: 0.00, 0.01, 0.05Tasks: 95 total, 1 running, 88 sleeping, 6 stopped, 0 zombieCpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 1018748k total, 772636k used, 246112k free, 64612k buffersSwap: 975868k total, 0k used, 975868k free, 537188k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND19560 root 20 0 21460 1332 1004 R 3.7 0.1 0:00.08 top 1 root 20 0 24052 2184 1356 S 0.0 0.2 0:01.75 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.55 ksoftirqd/0 5 root 20 0 0 0 0 S 0.0 0.0 0:01.72 kworker/u:0 6 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 7 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset 8 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper 9 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 10 root 20 0 0 0 0 S 0.0 0.0 0:00.15 sync_supers 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-default 12 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd以下是按了大写的M之后的效果Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6659 mysql 20 0 166m 23m 6984 S 0.0 2.4 0:06.77 mysqld 1969 root 20 0 88960 21m 2084 S 0.0 2.2 0:02.91 miniserv.pl 1227 proxy 20 0 80024 15m 3480 S 0.0 1.6 0:04.00 squid3 1386 root 20 0 37636 12m 1784 S 0.0 1.3 0:04.15 bash 3242 root 20 0 127m 9m 5424 S 0.0 1.0 0:02.26 apache214270 www-data 20 0 127m 6100 1212 S 0.0 0.6 0:00.00 apache214272 www-data 20 0 127m 6100 1212 S 0.0 0.6 0:00.00 apache214271 www-data 20 0 127m 6096 1212 S 0.0 0.6 0:00.00 apache214273 www-data 20 0 127m 6096 1212 S 0.0 0.6 0:00.00 apache214274 www-data 20 0 127m 6096 1212 S 0.0 0.6 0:00.00 apache216857 www-data 20 0 127m 5996 1136 S 0.0 0.6 0:00.00 apache217681 root 20 0 50976 5508 3192 T 0.0 0.5 0:00.14 vi 9517 root 20 0 50432 4724 2972 T 0.0 0.5 0:01.42 vi 2957 root 20 0 50312 4492 2932 S 0.0 0.4 0:00.10 vi练习5:查询进程信息pgrep命令查看进程信息查看init的进程号rootubuntuServer:# pgrep init1查询进程名称中包含 log 的进程的PID 同时列出对应的进程名称 l选项rootubuntuServer:# pgrep -l log741 rsyslogd848 login1360 login在Windows上使用putty工具使用hanlj连接运行vi创建一个文件查询由用户哪些用户正在连接Ubuntu查询hanlj 在pts/2终端上运行的进程rootubuntuServer:# w 16:09:14 up 7:52, 3 users, load average: 0.00, 0.01, 0.05USER TTY FROM LOGIN IDLE JCPU PCPU WHATroot tty2 Wed11 23.00s 0.44s 0.03s vi /etc/mandroot tty1 06Mar12 51.00s 5.77s 4.15s -bashroot pts/0 15:52 0.00s 0.18s 0.00s w练习6:查看进程树pstree命令查看进程树用途:以树型结构显示各进程间的关系rootubuntuServer:# pstreeinit-+-apache2-6*apache2 |-atd |-cron |-dbus-daemon |-4*getty |-login-bash-+-crontab-sh-sensible-editor-select-editor | -vi |-login-bash-2*vi |-master-+-pickup | -qmgr |-miniserv.pl |-mysqld-11*mysqld |-rsyslogd-3*rsyslogd |-squid3-squid3-unlinkd |-sshd-+-sshd-sftp-server | -sshd-bash-pstree |-udevd-2*udevd |-upstart-socket- |-upstart-udev-br |-vmtoolsd -vmware-vmblock-3*vmware-vmblock查看进程树 并列出各进程树对应的PID号 用户名 完整命令信息Pstree aup只列出用户hanlj 打开的进程及子进程的树结构信息,可以看到hanlg使用vi编辑的文件/etc/network/interfacesrootubuntuServer:# pstree -ap hanlgbash,19722 -vi,19798 /etc/network/interfaces进程控制练习7:后台启动进程调度启动有两种方式,at命令可设置任务定时启动执行,crontab可实现任务的周期性执行放到后台运行后台执行命令Mkdir /testrootubuntuServer:# vi /etc/resolv.conf &1 20154可以看到后台运行,输入jobs,可以看到后台运行的程序rootubuntuServer:# jobs1+ Stopped vi /etc/resolv.conf练习8:改变进程运行的方式输入vi /etc/network/interfaces按ctrl+Z 将当前程序转到后台输入jobs查看后台运行的程序调入后台 暂停执行在编辑一个记事本文件 按ctrl+Z显示后台的任务将第二个后台进程恢复到前台运行hanlgubuntuServer:# fg 2练习9:终止进程执行1. 若该进程已经无法响应终止信号,则可以结合“-9”选项强行杀死进程2. 强制终止进程时可能会导致程序运行的部分数据丢失,因此不得以时不要轻易使用“-9”选项Ctrl+Z中断前台执行的命令使用ps查看进程使用kill 结束进程 失败使用 kill -9 强制结束进程打开一个vi进程并将其挂起至后台 Ctrl+Z再使用kill命令终止vi进程Ctrl+ZCtrl+Z使用pkill命令终止进程其中-U 指定用户 t 指定终端以下命令查找出登录到系统中的可疑用户,并使用pkill命令终止对应终端的进程。计划任务管理计划任务管理at使用at命令设置的任务只在指定时间点执行一次,若只指定时间则表示当天的该时间,若只指定日期则表示该日期的当前时间可以在at交互环境中输入多条命令,最后按CtrlD组合键提交对应的系统服务atd必须已经运行,否则可能会出现错误提示:Cant open /var/run/atd.pid to signal atd. No atd running?为了及时查看效果,可以计划在当前时间(date命令查看)之后的12分钟左右执行任务,例如执行“ps aux ps.txt”操作练习10:启用一次性任务rootubuntuServer:# /etc/init.d/atd start查看系统中设置的at计划任务列表查看当前系统时间,指定任务计划 将root用户运行的进程的数量 并将该数值保存到/tmp/ps.root文件中。rootubuntuServer:# dateFri Apr 13 09:17:38 CST 2012指定一个任务计划,在9点21执行rootubuntuServer:# at 09:21warning: commands will be executed using /bin/shat vi /etc/test 按ctrl+D 结束任务计划定义at job 3 at Fri Apr 13 09:21:00 2012查看还没有执行的作业rootubuntuServer:# atq3 Fri Apr 13 09:21:00 2012 a root查看后台执行任务rootubuntuServer:# jobs1+ Stopped vi /etc/resolv.conf在当天 21:03定时关机rootubuntuServer:# at 21:03 2012-04-14at shutdown -h nowat job 4 at Fri Apr 13 09:54:00 2012rootubuntuServer:#删除计划atrm关机的任务计划rootubuntuServer:# atq5 Fri Apr 13 11:00:00 2012 a rootrootubuntuServer:# atrm 5rootubuntuServer:# atqcrontab周期性任务设置 l 启用周期性任务有一个前提条件,即对应的系统服务crond必须已经运行l 全局配置和系统默认配置中的内容一般不需要用户去修改,用户只需设置/var/spool/cron/目录下与本帐号同名的文件即可。练习10:查看cron 状态rootubuntuServer:# /etc/init.d/cron statusRather than invoking init scripts through /etc/init.d, use the service(8)utility, e.g. service cron statusSince the script you are attempting to invoke has been converted to anUpstart job, you may also use the status(8) utility, e.g. status croncron start/running, process 860查看crontab内容rootubuntuServer:# cat /etc/crontab# /etc/crontab: system-wide crontab# Unlike any other crontab you dont have to run the crontab# command to install the new version when you edit this file# and files in /etc/cron.d. These files also have username fields,# that none of the other crontabs do.SHELL=/bin/shPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin# m h dom mon dow user command17 * * * * root cd / & run-parts -report /etc/cron.hourly25 6 * * * root test -x /usr/sbin/anacron | ( cd / & run-parts -report /etc/cron.daily )47 6 * * 7 root test -x /usr/sbin/anacron | ( cd / & run-parts -re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新零售模式线上线下融合方案
- 兼职工作协议的注意事项
- 企业市场分析中的数据挖掘技术
- 2025年世界顶级几何题目及答案
- 浸出生产车间考试试题及答案
- 分数通分试题及答案
- 2025年善意的谎言辩论材料
- 2025年山西省晋中市事业单位工勤技能考试题库及答案
- CN120246490A 仓储系统、货架机器人、换电机器人及换电方法 (杭州海康机器人股份有限公司)
- CN120127918B 一种伺服电机定子冲片自动化叠片机 (江苏联博精密科技股份有限公司)
- 2025年三类人员安全员C证继续教育题库及参考答案
- 2025内蒙古锡林郭勒盟公安局招聘警务辅助人员95人考试参考题库附答案解析
- 急性肾小球肾炎
- 工程管理面试题目及答案
- 《一年级开学第一课》课件
- 2025秋人教版(2024)八年级上册英语一学期教学计划
- 会展推广的合同范本
- 武消院火灾调查B讲义01电气火灾调查
- 起搏器植入患者全程护理要点
- (2025年标准)会议代办协议书
- 2025公需课《人工智能赋能制造业高质量发展》试题及答案
评论
0/150
提交评论