RHCE学习<5>RHEL6进程管理、Cron任务计划和启动故障排除

一、进程管理

1、ps查看进程命令(一般使用以下两种组合选项)

ps -aux:将显示系统中所有的进程信息

ps -elf:将以长格式显示系统中所有的进程详细信息

152911763.png

USER:启动该进程的用户账号的名称

PID:进程号,在当前系统中是唯一的

TTY:表明该进程在哪个终端上运行,?表示未知或不需要终端。

STAT:进程的当前的状态如:S(休眠)、R(运行)、Z(僵死)、<(高优先级)、N(低优先级)、s(父进程)、+(前台进程),对于僵死进程应该予以手动终止

START:启动进程的时间

TIME:该进程占用的CPU时间

COMMAND:启动该进程的命令的名称

%CPU:CPU占用百分比

%MEM:内存占用百分比

VSZ:占用虚拟内存(swap)的大小

RSS:占用物理内存的大小

2、qgrep通过程序名字查询进程

qgrep -l httpd

-l :列出程序名和进程ID-o:进程起始的ID

-n:进程终止的ID

3、top查看进程资源占用情况

top页面以动态刷新的方式显示进程的状态信息,默认情况下3秒钟刷新一次,页面快捷键如下:

h:获取帮助

P:根据CPU占用情况对进程列表进行排序

M:根据内存占用情况进行排序

N:根据启动时间进行排序

k:按k后输入进程号,kill掉一个进程

q:退出

4、其他分析命令

df -h:命令查看磁盘空间使用情况;

iostat:查看磁盘I/O使用情况;

vmstat:查看交换使用情况;

5、进程的不同启动方式

前台启动:用户输入命令,直接执行程序

后台启动:在命令行尾加入“&”符号

bg:将后台挂起的进程激活

jobs:查看处于后台的任务列表

fg:将处于后台的进程恢复到前台运行,需指定任务序号

Ctrl+Z 组合键:将当前进程挂起,即调入后台并停止执行

6、终止进程的运行

Ctrl+C组合键:中断正在执行的命令

Kill:用于终止指定PID号的进程

Killall:用于终止指定名称的所有进程,-9 选项用于强制终止

pkill命令:根据特定条件终止相应的进程

常用选项:

-U:根据进程所属的用户名终止相应进程;

-t:根据进程所在的终端终止相应进程;

二、开机流程相关介绍

在RHEL 6.x系统中,用了全新的Upstart启动方式,大大提高了开机效率。实际上,/sbin/init程序已经改由upstart软件包提供,而不再是SysVinit软件包。upstart来源于ubuntu。

Upstart使用了基于事件(状态变化)的模型,更加符合一个快速、有效的init系统标准:尽可能启用更少进程、尽可能将更多进程并行启动。

1、upstart启动相关配置

/etc/inittab #配置默认运行级别

/etc/init/rcS.conf #加载rc.sysinit脚本,完成系统初始化任务

/etc/init/rc.conf #兼容脚本,负责各运行级别的调用处理

/etc/init/rcS-sulogin.conf #为单用户模式启动/sbin/sushell环境

/etc/init/control-alt-delete.conf #控制终端下的Ctrl+Alt+Del热键操作

/etc/init/start-ttys.conf #配置tty终端的开启数量、设备文件

/etc/sysconfig/init #控制tty终端的开启数量、终端颜色方案

/etc/init/tty.con f#控制tty终端的开启

2、Linux系统开机流程

wKioL1LH5I_jAFDFAADAwyDlNdA105.jpg

1.BIOS自检(加载BIOS的硬件信息、进行自我测试)

2.启动GRUB(读取并执行第一个开机设备内MBR(512字节)的boot Loader)

3.加载内核(依据boot loader的设置加载Kernel,Kernel会开始检测硬件与加载驱动程序)

4.执行init进程(从内核启动init)

5.init进行系统初始化(执行/etc/rc.d/rc.sysinit),初始化信息预配置文件在/etc/sysconfig,可以使用dmesg查看系统启动信息(比如:初始化硬件、加载模块、挂载设备等等)

6.init找到/etc/inittab文件,确定默认的运行级别(X)并触发相应runlevel,运行相应的/etc/rcX.d/中的脚本

7.最后执行/etc/rc.d/rc.local

8.加载终端或X-Window接口


3、运行级别:vi /etc/inittab

0 - halt #系统直接关机

1 - single user mode #单人维护模式,用在系统出问题时的维护

2 - Multi-user, without NFS #类似底下的 runlevel 3,但无 NFS 服务

3 - Full multi-user mode #完整含有网络功能的纯文本模式

4 - unused #系统保留功能

5 - X11 #与 runlevel 3 类似,但加载使用 X Window

6 - reboot #重新启动


4、/etc/rc3.d/文件说明

wKioL1LIGifQW8tkAAGElpsMhGY461.jpg

全部以Kxx开头的表示停止服务,Sxx开头的表示启动服务(xx是数字),全部文件都链接到/etc/init.d

三、任务计划管理

1、cron周期性任务计划

/var/spool/cron #用户cron任务配置存放目录

管理cron计划任务:

编辑计划任务:crontab -e [-u 用户名]

查看计划任务:crontab -l [-u 用户名]

删除计划任务:crontab -r [-u 用户名]


152947923.png


字段

说明

分钟

取值为从0到59之间的任意整数

小时

取值为从0到23之间的任意整数

日期

取值为从1到31之间的任意整数

月份

取值为从1到12之间的任意整数

星期

取值为从0到7之间的任意整数,0或7代表星期日

命令

要执行的命令或程序脚本

时间数值参数

* :表示该范围内的任意时间

, :表示间隔的多个不连续时间点

- :表示一个连续的时间范围

/ :指定间隔的时间频率

例如:

0023 * * 7 /root/test.sh #每周日晚上23:00执行test脚本

0023 * * 1,3,5 /root/test.sh #每周一、周三、周五晚上23:00执行test脚本

0023 */5 * * /root/test.sh #每隔五天晚上23:00执行test脚本

2、at一次性任务计划

设置格式:at [HH:MM] [yyyy-mm-dd]

如:at 23:45

at> shutdown -h now

at> <EOT> (按ctrl+d提交任务)

四、故障排除(一般是提前做好备份,再恢复效果比较好,防患于未然)

1、root用户密码忘记

解决方法:系统启动时,出现grub时按向上或向下按键,看到如下页面,按e编辑kernel开头

153132798.png

在行尾添加数字1或字母s,回车,按ESC,再按b,重启,进入单用户模式

153150864.png

重新设置root密码,重置成功,重启系统!也可以进入急救模式修改root密码

153216652.png

2、rpm数据库损坏

故障原因:非正常关机、误删除运行中的程序文件;RPM数据文件被误写或删除

故障现象:不能正常查询rpm包信息;无法安装、升级或卸载软件包等

解决思路:重建RPM数据库rpm --rebuilddb 或 rpm --initdb

模拟故障:

153310823.png

解决办法:

153354402.png

3、修复MBR

故障原因:病毒、木马等造成的破坏;不正确的分区操作、磁盘读写误操作

故障现象:找不到引导程序,启动中断;无法加载操作系统,开机后黑屏

解决思路:应提前作好备份文件;以RHEL6安装光盘引导进入急救模式;从备份文件中恢复

备份MBR:

mount /dev/sdb1 /backup

dd if=/dev/sda if=/backup/mbr.bak bs=512 count=1

模拟损坏,重启:

dd if=/dev/zero if=/dev/sda bs=512 count=1

启动故障现象:

153430776.png

解决方法:

RHEL6光盘引导,进入急救模式,恢复备份的MBR

153502243.png

选择Rescue installed system,进入急救模式

下一步设置选择语言,US键盘

153518907.png

是否设置网络,选择NO

153558765.png

选择Continue继续

153611122.png

进入/bin/bash这个是急救模式字符页面,使用备份恢复,重启成功!

153655247.png

4、修复grub引导

故障原因:MBR中的GRUB引导程序遭到破坏;grub.conf文件丢失、引导配置有误

故障现象:

153859674.png

解决思路:进入急救模式,从备份中恢复 grub.conf ;向MBR扇区中重建grub程序

备份grub.conf:

mount /dev/sdb1 /backup

cp /boot/grub/grub.conf /mnt/grub.conf.bak

模拟损坏:

rm -rf /boot/grub/grub.conf

解决办法:

RHEL6光盘引导,进入急救模式,恢复备份的grub.conf

进入急救模式同上,略...

153914769.png

上面看来,分区表没有被损坏,直接从备份恢复,重启完成!

sh-4.1#chroot /mnt/sysimage #将目录结构切换到待修复的linux系统

sh-4.1#cp /mnt/grub.conf.bak /boot/grub/grub.conf

sh-4.1#exit

sh-4.1#reboot

5、修复/etc/fstab文件

/etc/fstab记录系统的磁盘和分区挂载信息

故障现象:启动中提示 “... /etc/fstab: No such file or directory”

153933528.png

模拟损坏:rm -rf /etc/fstab

解决方法:进入急救模式,手动挂载分区并重建fstab

153951644.png

手动挂载分区,或从备份复制

vi /part/etc/fstab

/dev/vg_202/lv_root ext4 defaults1 1 1

/dev/vg_202/lv_swap swap defaults1 0 0

6、修复/etc/inittab文件

故障现象:启动中提示 “INIT:NO Inittab file found”

模拟故障:rm -rf /etc/inittab

解决方法:进入急救模式,过程略...,安装initscripts软件包即可!

154831488.png


你可能感兴趣的:(进程管理,/etc/fstab丢失,/etc/inittab丢失,etc/grub.conf丢失)