摘要
这段时间在搞一个微型的Linux,将它作为一个项目的平台,这个过程中,看了研究了一下Linux的启动过程,同时把启动配置文件看了一下,作了一下注释,同时和大家共享一下:)。我使用的Linux平台是Red Hat Linux 7.3
#!/bin/bash
#
# syslog Starts syslogd/klogd.
#
#
# chkconfig: 2345 12 88
# description: Syslog is the facility by which many daemons use to log
# messages to various system log files. It is a good idea to always
# run syslog.
### BEGIN INIT INFO
# Provides: $syslog
### END INIT INFO
# Source function library.
. /etc/init.d/functions
[ -f /sbin/syslogd ]' 'exit 0
[ -f /sbin/klogd ]' 'exit 0
##首先判断syslogd和klogd这两个文件是否存在,如果存在才能执行下面的脚本
# Source config
if [ -f /etc/sysconfig/syslog ] ; then
. /etc/sysconfig/syslog
##导入syslog这个配置文件
else
SYSLOGD_OPTIONS="-m 0"
KLOGD_OPTIONS="-2"
fi
RETVAL=0
umask 077
start() {
echo -n $"Starting system logger: "
daemon syslogd $SYSLOGD_OPTIONS
##syslogd是系统运行监测程序,在系统产生错误时,这个daemon负责把错误信息写到固定的地方
##daemon这个函数在functions这个文件中定义
RETVAL=$?
##RETVAL设置为启动syslogd这个daemon是否成功的返回值
echo
echo -n $"Starting kernel logger: "
daemon klogd $KLOGD_OPTIONS
##klogd是内核运行监测程序,当内核出错时,这个daemon负责把错误信息通知用户
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog
##如果syslogd启动成功,则在/var/lock/subsys/下面建立一个空文件syslog
return $RETVAL
}
stop() {
echo -n $"Shutting down kernel logger: "
killproc klogd
##killproc是在functions这个文件中定义的函数
echo
echo -n $"Shutting down system logger: "
killproc syslogd
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/syslog
return $RETVAL
}
rhstatus() {
status syslogd
status klogd
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
rhstatus
;;
restart|reload)
restart
;;
condrestart)
[ -f /var/lock/subsys/syslog ] && restart' ':
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $?