linux相关服务的自启动(tomcat为例)

来源:互联网 发布:有后台手机导航源码 编辑:程序博客网 时间:2024/05/16 17:39

1.在/etc/rc.d/init.d 存储着一系列的linux服务脚本,在linux启动时会自动注册这些脚本。

2.可以在/etc/rc.d/init.d 下自定义服务(主要就是调用相关软件的startup.sh/shutdown.sh/restart.sh脚本)。

并使用chkconfig --add myscript(脚本名)命令,把自定义脚本服务注册到linux系统。可以使用chkconfig --list查看是否注册成功。

3.使用命令chkconfig myscript on/off 来控制脚本是否随linux 自动启动。


tomcat为例:

#!/bin/sh
# chkconfig: 345 99 10
# description: Auto-starts tomcat
# /etc/init.d/tomcat
# Tomcat auto-start
# Source function library.
#. /etc/init.d/functions
# source networking configuration.
#. /etc/sysconfig/network
RETVAL=0
export JRE_HOME=/usr/jre1.6.0_22
export CATALINA_HOME=/usr/tomcat6
export CATALINA_BASE=/usr/tomcat6
start()
{
        if [ -f $CATALINA_HOME/bin/startup.sh ];
          then
            echo $"Starting Tomcat"
                $CATALINA_HOME/bin/startup.sh
            RETVAL=$?
            echo " OK"
            return $RETVAL
        fi
}
stop()
{
        if [ -f $CATALINA_HOME/bin/shutdown.sh ];
          then
            echo $"Stopping Tomcat"
                $CATALINA_HOME/bin/shutdown.sh
            RETVAL=$?
            sleep 1
            ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9
            echo " OK"
            # [ $RETVAL -eq 0 ] && rm -f /var/lock/...
            return $RETVAL
        fi
}


case "$1" in
 start) 
        start
        ;;
 stop)  
        stop
        ;;
                                                
 restart)
         echo $"Restaring Tomcat"
         $0 stop
         sleep 1
         $0 start
         ;;
 *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit $RETVAL

0 0