第12章-管理进程和任务计划
- 格式:docx
- 大小:1.32 MB
- 文档页数:24
第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键根据内存占用情况进行排序