启动程序你需要分清楚,是一般的程序还是服务
对于有些服务开机要启动,关机的时候还要关闭,所以,比较好的方法是写服务脚本,然后放到/etc/init.d,然后在相应的运行级启动目录中添加链接。
如果只是一般的程序,并且关机时不需要退出。那么加在任何一个自启动的脚本都可以。下面结合condor启动的设计作一下详细的介绍:
第一:确定你的运行级,就是/etc/inittab文件的id:X:initdefault那一行,该行指出了你的机器默认启动的运行级别,我的X=5,是X11启动方式。获得了运行级,我们下面就可以找到对应启动脚本的目录,例如运行级是3那么,启动自动执行/etc/rc3.d,如果是5就是/etc/rc5.d。里面有一堆链接,随便你写在任何一个链接的目标文件中,但那些多数是服务脚本,有start和stop段(修改rc.local,是不分运行级的)。
第二:编写服务脚本,如果有现成的,可以不用编写,直接复制到/etc/init.d/目录下即可。我的condor启动服务脚本是condor.boot。如下所示:
MASTER=/usr/local/condor/sbin/condor_master
PS="/bin/ps auwx"
case $1 in
'start')
if [ -x $MASTER ]; then
echo "Starting up Condor"
$MASTER
else
echo "$MASTER is not executable. Skipping Condor startup."
exit 1
fi
;;
'stop')
pid=`$PS | grep condor_master | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]; then
echo "Shutting down Condor (fast-shutdown mode)"
kill -QUIT $pid
else
echo "Condor not running"
fi
;;
'restart')
$0 'stop'
sleep 10
$0 'start'
;;
*)
echo "Usage: condor {start|stop|restart}"
;;
esac
第三:在自己机器运行级对应的启动脚本目录中添加指向condor.boot的软连结
cd /etc/rc.d/rc5.d
ln -s ../init.d/condor.boot ./condor
第四:重新启动,认真观察启动选项,看看有没有错误,然后根据错误做相应的修改即可。
阅读(2865) | 评论(0) | 转发(0) |