hymumu

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

                     第九章 shell工具
2.1 日志文件
创建日志文件的重要性
以时间为标识的日志文件
以进程号为标识的临时文件

2.2 信号
信号就是系统向脚本或命令发出的消息,告知他们某个事件的发生
kill -l 列出所有的信号
kill 发送信号给进程

信号  信号名          含义
1       SIGHUP       挂起或父进程被杀死
2    SIGINT       来自键盘的中断信号,通常是<CTRL+C>
3       SIGQUIT      从键盘退出
9       SIGKILL      无条件终止
11      SIGSEGV      断(内存)冲突
13      SIGTERM    软件终止(缺省杀进程)

信号0为“退出shell”信号。为了发出信号0,只要从命令行键入exit,或在一个进程
或命令行中使用<CTRL+D>即可
kill -s SIGKILL 7696
kill -9 696

2.3 trap捕捉信号
信号可以被应用程序或脚本捕获,并依据该信号(1、2、3和15)采取相应的行动。
一些信号不能被捕获。例如,如果一个命令收到了信号9,就无法再捕获其他信号。
捕捉到一个信号后,它可能会采取下面的操作之一:
1) 不采取任何行动,由系统来进行处理
2) 捕获该信号,但忽略它
3) 捕获该信号,并采取相应的行动
trap可以使你在脚本中捕获信号,命令形式为:
trap name signal(s)
其中,name是捕获到信号以后所采取的一系列操作,实际中,name一般是一个专门
用来处理所捕捉信息的函数。name一般需要用双引号("")引起来。
signal就是待捕捉的信号
最常见的行动包括:
1)清除临时文件
2)忽略该信号(trap "" 2 3)
3)询问用户是否终止该脚本的执行
2.4 eval
eval命令将会首先扫描命令行进行所有的置换,然后再执行该命令,该命令
使用于那些一次扫描无法实现其功能的变量
myfile="cat myfile";`eval $myfile`
eval `cat myfile`

2.5 logger
logger命令向/var/log/message文件发送消息
logger命令的一般形式为:
logger -p -i message
-p:为优先级,这里只涉及到提示用户注意的优先级,这也是缺省值
-i:在每个消息中记录发送消息的进程号。 

                         第十章 运行级别脚本解释
3.1 运行级别
运行级别目录(/etc.rcN.d)N表示数字
当前运行级别(runlevel)
运行级别目录文件格式(SXXscript,KXXscript)S表示启动,K表示禁止

3.2 inittab
运行级别控制文件(/etc/inittab)
修改inittab文件

3.3 启动应用程序
启动脚本分析(start|stop|restart)
 cat /etc/init.d/crond
启动脚本
 service server start|stop|restart|...
 script_name start|stop|restart
service crond stop

posted on 2010-09-01 19:16  hymumu  阅读(295)  评论(0编辑  收藏  举报