一、进程管理
1、ps查看进程命令(一般使用以下两种组合选项)
ps -aux:将显示系统中所有的进程信息
ps -elf:将以长格式显示系统中所有的进程详细信息
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系统开机流程
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/文件说明
全部以Kxx开头的表示停止服务,Sxx开头的表示启动服务(xx是数字),全部文件都链接到/etc/init.d
三、任务计划管理
1、cron周期性任务计划
/var/spool/cron #用户cron任务配置存放目录
管理cron计划任务:
编辑计划任务:crontab -e [-u 用户名]
查看计划任务:crontab -l [-u 用户名]
删除计划任务:crontab -r [-u 用户名]
字段 |
说明 |
分钟 |
取值为从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开头
在行尾添加数字1或字母s,回车,按ESC,再按b,重启,进入单用户模式
重新设置root密码,重置成功,重启系统!也可以进入急救模式修改root密码
2、rpm数据库损坏
故障原因:非正常关机、误删除运行中的程序文件;RPM数据文件被误写或删除
故障现象:不能正常查询rpm包信息;无法安装、升级或卸载软件包等
解决思路:重建RPM数据库rpm --rebuilddb 或 rpm --initdb
模拟故障:
解决办法:
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
启动故障现象:
解决方法:
RHEL6光盘引导,进入急救模式,恢复备份的MBR
选择Rescue installed system,进入急救模式
下一步设置选择语言,US键盘
是否设置网络,选择NO
选择Continue继续
进入/bin/bash,这个是急救模式字符页面,使用备份恢复,重启成功!
4、修复grub引导
故障原因:MBR中的GRUB引导程序遭到破坏;grub.conf文件丢失、引导配置有误
故障现象:
解决思路:进入急救模式,从备份中恢复 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
进入急救模式同上,略...
上面看来,分区表没有被损坏,直接从备份恢复,重启完成!
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”
模拟损坏:rm -rf /etc/fstab
解决方法:进入急救模式,手动挂载分区并重建fstab
手动挂载分区,或从备份复制
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软件包即可!