第12章-管理进程和任务计划

  • 格式:docx
  • 大小:1.32 MB
  • 文档页数:24

下载文档原格式

  / 24
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第12章管理进程和计划任务

Ubuntu的引导流程

关于系统启动,熟悉Ubuntu的人大多应该知道,init进程(PID=1)乃是所有进程的父进程,所有进程由它控制。init进程的运行时间是内核完成文件系统的加载后。

Ubuntu启动顺序是:

1.init读取/etc/init/rc-sysinit.conf文件来确定启动等级

2.传递参数给/etc/init.d/rc

3.根据参数执行/etc/rcN.d/下面的链接文件

Ubuntu运行级别

Ubuntu系统有一个所谓的运行级别,这个可以让系统以单用户或者多用户模式运行。

0关机

1单用户工作模式

2多用户运行模式,ubuntu默认运行级别

3 4 5暂未定义,可供用户定义其他多用户工作模式。

6 重启系统

练习1:查看运行级别

本练习查看ubuntu的运行级别和最近一次更改运行级别的日期和时间,进入单用户模式,可以避免多个用户同时操作服务器。一般用于维护服务器。

root@ubuntuServer:~# who -r

run-level 2 Feb 14 16:55

或输入以下命令也能看到运行级别

root@ubuntuServer:~# runlevel

N 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:查看当前会话中所有进程

不带参数只显示当前用户会话中所打开的进程

root@ubuntuServer:~# ps

PID TTY TIME CMD

19493 pts/0 00:00:00 bash

19548 pts/0 00:00:00 ps

显示系统中所有进程信息

root@ubuntuServer:~# ps aux | more

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.2 24052 2184 ? Ss 08:16 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 08:16 0:00 [kthreadd]

root 3 0.0 0.0 0 0 ? S 08:16 0:00 [ksoftirqd/0]

root 5 0.0 0.0 0 0 ? S 08:16 0:01 [kworker/u:0]

root 6 0.0 0.0 0 0 ? S 08:16 0:00 [migration/0]

root 25 0.0 0.0 0 0 ? S 08:16 0:00 [ecryptfs-kthre

结合-elf选项,将以长格式显示系统中所有进程信息

root@ubuntuServer:~# ps -elf | more

F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD

4 S root 1 0 0 80 0 - 6013 poll_s 08:16 ? 00:00:01 /sbin/init

1 S root

2 0 0 80 0 - 0 kthrea 08:16 ? 00:00:00 [kthreadd]

显示所有进程过滤bash命令

root@ubuntuServer:~# ps aux | grep bash

root 1386 0.0 1.2 37636 13044 tty1 S+ 08:18 0:04 -bash

root 2876 0.0 0.4 28384 4108 tty2 S 08:49 0:00 -bash

root 19493 0.0 0.4 28480 4200 pts/0 Ss 15:52 0:00 -bash

root 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键根据内存占用情况进行排序