ubuntu设置自启动服务程序

1、在init.d西面写写启动脚本,命名为tomcat6,如我用gedit,那么命令gedit /opt/init.d/tomcat6,默认自动建了个tomcat的文件。

#!/bin/sh
#tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
case $1 in
start)
    sh /usr/lib/tomcat6/bin/startup.sh
    ;;
stop)
    sh /usr/lib/tomcat6/bin/shutdown.sh
    ;;
restart)
    sh /usr/lib/tomcat6/bin/shutdown.sh
    sh /usr/lib/tomcat6/bin/startup.sh
    ;;
*)
    echo 'Usage:tomcat start|stop|restart'
    ;;
esac
exit 0

2、添加系统服务

sysv-rc-conf tomcat on 

或者

update-rc.d tomcat6 defaults  
update-rc.d tomcat6 remove 

这里有个注意事项,如果有多个启动,并且有顺序。那么需要加一个参数,如

update-rc.d tomcat6 defaults 30

update-rc.d tomcat7 defaults 31

那么tomcat7会在tomcat6后面启动,因为31>30

4、建完后涉及到系统有限级别,可以在etc下的rc0.d,rc1.d,rc2.d...文件夹找到对应的S+启动顺序+服务名称的文件,如上面的tomcat6,会有文件S30tomcat6

5、也可以不直接在/etc/init.d下新建文件,可以进行文件连接。新增运行级链接文件命令:

sudo ln -s 源文件名 链接文件的位置和名称
sudo ln -s /etc/rc*.d/S**脚本名 /etc/init.d/脚本名(或说服务名)

ln --symbolic 指建立软链接
/etc/init.d/脚本名(或说服务名) 指链接目的文件(或目录)
/etc/rc*.d/S**脚本名 指要建立的链接文件名,rc*是rcS或rc0~6,S**是S加数字

如:sudo ln /etc/init.d/mdadm-raid /etc/rcS.d/S04mdadm-raid

指:在目录 /etc/rcS.d (即运行级S)下建立到 /etc/init.d/mdadm-raid (mdadm-raid服务)的链接 S04mdadm-raid ,这样,系统启动后,排在运行顺序第4的服务 mdadm-raid 被启用。

6、查看文件的运行级别和权限:

ll /etc/rc?.d/*local

sudo chmod +x /etc/rc.local  // 增加可执行权限

sudo chmod +s /etc/rc.local  // 增加s权限,即让普通用户执行该文件时拥有文件所有者的权限

7、第二种方法,直接在rc.local中添加可运行脚本

8、新的方式upstart和systemd


你可能感兴趣的:(ubuntu,自启动,inid.d)