linux中进程和计划任务管理
进程和计划任务管理
1. 程序和进程的关系
程序:保存在硬盘、光盘等介质中的可执行代码和数据;静态保存的代码
进程:在 CPU 及内存中运行的程序代码;动态执行的代码;父、子进程:每个进程可以创建一个或多个进程
基本命令
1):ps命令(processes statistc):查看静态的进程统计信息
格式: ps aux ;ps –elf
2):top命令:查看动态的进程排名信息
3):pgrep命令:根据特定条件查询进程 PID 信息
4):pstree命令:以树形结构列出进程信息
格式:pstree –aup ;pstree –ap 用户
2.进程的启动方式
手工启动
前台启动(foreground,前台):用户输入命令,直接执行程序
后台启动(background,后台):在命令行尾加入“&”符号
[root@localhost ~]# cp /dev/cdrom mycd.iso &
[1] 28454 (输出信息中包括后台任务序号、PID号)
调度启动
使用 at 命令,设置一次性计划任务;使用 crontab 命令,设置周期性计划任务
3.进程的前后台调度
1):Ctrl+Z 组合键:将当前进程挂起,即调入后台并停止执行
2):jobs 命令:查看处于后台的任务列表 ;格式:jobs -l
3):fg 命令:将后台进程恢复到前台运行,可指定任务序号
4.终止进程
Ctrl+C 组合键:中断正在执行的命令
kill、killall 命令
kill用于终止指定PID号的进程
killall用于终止指定名称的所有进程
-9 选项用于强制终止
pkill命令:根据特定条件终止相应的进程
常用命令选项: -U:根据进程所属的用户名终止相应进程; -t:根据进程所在的终端终止相应进程
5.计划任务管理
1):at命令:一次性计划任务,前提是对应的系统服务atd必须已经运行;计划任务执行任务的时间必须安排在当前系统时间后。
服务脚本名称:/etc/init.d/atd;格式:at [HH:MM] [yyyy-mm-dd]
2):crontab命令:按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作;属于周期性计划任务;服务脚本名称:/etc/init.d/crond
主要设置文件
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名
3):管理cron计划任务
编辑计划任务:crontab -e [-u 用户名]
查看计划任务:crontab -I [-u 用户名
删除计划任务:crontab -r [-u 用户名]
注意:root用户可以管理指定用户的计划任务;普通用户只能管理自己的计划任务
6. 时间数值的特殊表示方法
* 表示该范围内的任意时间
, 表示间隔的多个不连续时间点
- 表示一个连续的时间范围
/ 指定间隔的时间频率
举个栗子
0 17 * * 1-5 周一到周五每天17:00
30 8 * * 1,3,5 每周一、三、五的8点30分
0 8-18/2 * * * 8点到18点之间每2小时
0 * */3 * * 每3天
系统故障分析和排查
1. 日志文件分析
功能:用于记录系统、程序运行中发生的各种事件;通过阅读日志,有助于诊断和解决系统故障
分析:
内核及系统日志:由系统服务syslog统一进行管理,日志格式基本相似
用户日志:记录系统用户登录及退出系统的相关信息
程序日志:由各种应用程序独立管理的日志文件,记录格式不统一
保存位置:默认位于:/var/log 目录下
主要日志文件:
日志 |
存放位置 |
内核及公共消息 |
/var/log/messages |
计划任务 |
/var/log/cron |
系统引导 |
/var/log/dmesg |
邮件系统 |
/var/log/maillog |
用户登录 |
/var/log/lastlog;/var/log/secure;/var/log/wtmp;/var/run/btmp |
2.内核及系统日志
由系统服务 rsyslogd 统一管理
软件包:rsyslog-5.8.10-8.el6.x86_64
主要程序:/sbin/rsyslogd
配置文件:/etc/rsyslog.conf
日志消息的级别
0 EMERG(紧急):会导致主机系统不可用的情况
1 ALERT(警告):必须马上采取措施解决的问题
2 CRIT(严重):比较严重的情况
3 ERR(错误):运行出现错误
4 WARNING(提醒):可能会影响系统功能的事件
5 NOTICE(注意):不会影响系统但值得注意
6 INFO(信息):一般信息
7 DEBUG(调试):程序或系统调试信息等
日志记录的一般格式
3.用户日志分析
保存了用户登录、退出系统等相关信息
/var/log/lastlog:最近的用户登录事件
/var/log/wtmp:用户登录、注销及系统开、关机事件
/var/run/utmp:当前登录的每个用户的详细信息
/var/log/secure:与用户验证相关的安全性事件
分析工具:users 、who、w、last、lastb
4.程序日志分析
由相应的应用程序独立进行管理
Web服务:/var/log/httpd/ ;access_log、error_log
代理服务:/var/log/squid/;access.log、cache.log、squid.out、store.log
FTP服务:/var/log/xferlog
分析工具:
文本查看、grep过滤检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
注意:日志并不是完全可靠的,高明的黑客在入侵系统后,经常会打扫现场
5.日志管理策略
1):及时作好备份和归档
2):延长日志保存期限
3):控制日志访问权限:日志中可能会包含各类敏感信息,如账户、口令等
4):集中管理日志
将服务器的日志文件发到统一的日志文件服务器
便于日志信息的统一收集、整理和分析
杜绝日志信息的意外丢失、恶意篡改或删除
6.修复 MBR 扇区故障
1):故障原因:病毒、木马等造成的破坏;不正确的分区操作、磁盘读写误操作
2):故障现象:找不到引导程序,启动中断;无法加载操作系统,开机后黑屏
3):解决思路:应提前作好备份文件;以 RHEL 6 安装光盘引导进入急救模式;从备份文件中恢复
7.修复 GRUB 引导故障
1):故障原因:MBR 中的 GRUB 引导程序遭到破坏;grub.conf 文件丢失、引导配置有误
2):故障现象:系统引导停滞,显示“grub>” 提示符
3):解决思路:尝试手动输入引导命令;进入急救模式,重写或者从备份中恢复 grub.conf
;向 MBR 扇区中重建 grub 程序
8.遗忘 root 用户的密码
1):故障原因:遗忘 root 用户的密码
2):故障现象:无法进行需要 root 权限的管理操作;若没有其他可用帐号,将无法登录系统
3):解决思路
方法一:引导进入单用户模式,重设密码:grub > kernel ... single 或 s 或 1
方法二:进入急救模式,重设密码
9. 修复文件系统
1):故障原因:非正常关机、突然断电、设备读写失误等;文件系统的超级块(super-block)信息被破坏
2):故障现象:无法向分区中读取或写入数据;启动后提示“Give root password for maintenance”
3):解决思路:根据提示输入 root 口令,进入修复状态;使用 fsck 命令进行修复
10.磁盘资源耗尽故障
1):故障原因:磁盘空间已被大量的数据占满,空间耗尽;虽然还有可用空间,但文件数i节点耗尽
2):故障现象:无法写入新的文件,提示“… : 设备上没有空间”;部分程序无法运行,甚至系统无法启动
3):解决思路:清理磁盘空间,删除无用、冗余的文件;转移或删除占用大量 i 节点的琐碎文件;进入单用户模式、急救模式进行修复;为用户设置磁盘配额
11. 磁盘设备中存在坏道
1):故障原因:磁盘设备中存在坏道(逻辑的或物理的)
2):故障现象
读取磁盘中的数据时,磁盘设备发出异常声响。
访问磁盘中的某个文件时,反复读取且出错,提示文件损坏
对于新建立的分区无法完成格式化
系统使用该磁盘时频繁死机
3):解决思路:检测硬盘中是否存在坏道;修复硬盘,或更换新的硬盘