|
|
以下一个完整的runvdr启动脚本:
### BEGIN INIT INFO
# Provides: runvdr
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: runvdr service
# Description: Start the runvdr script that launches VDR
### END INIT INFO
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Runvdr Extreme"
NAME=runvdr
DAEMON=/usr/local/bin/runvdr
PIDFILE=/var/run/runvdr.pid
SCRIPTNAME=/etc/init.d/runvdr
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
#
# Function that starts runvdr.
#
d_start() {
start-stop-daemon --start --background --quiet --pidfile $PIDFILE \
--exec $DAEMON --
}
#
# Function that stops runvdr.
#
d_stop() {
$DAEMON --terminate --wait=30
}
#
# Function that sends a restart to runvdr.
#
d_reload() {
$DAEMON --restart
}
#
# Function that sends a dvb-reload to runvdr.
#
d_dvb_reload() {
$DAEMON --dvb-restart
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
;;
stop)
echo "Stopping $DESC: $NAME".
d_stop
;;
reload)
echo -n "Reloading $DESC configuration"
d_reload
echo "."
;;
dvb-reload)
echo -n "Reloading $DESC configuration"
d_dvb_reload
echo "."
;;
restart|force-reload)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|dvb-restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
————————————————————————————————————————————————
问题1:
我将这个脚本复制到了/etc/init.d/目录下,并执行了update-rc.d foobar defaults,但是计算机重新启动后,可以看到此脚本已经运行,但是一直到出现login时,这个启动脚本中通过start调用的一个文件都还没执行,一定要我登录进去后,再执行/etc/init.d/runvdr start后,那个被调用的文件才起来。那么怎么样才能做到,一启动脚本就调用start这个参数?
问题2:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
中的Defalut-start或者是Defalut-Stop 指的是runvdr脚本的运行和停止,与runvdr脚本中的start参数或Stop参数是两个意思吧? |
|