zoukankan      html  css  js  c++  java
  • 脚本开机启动

    vim /etc/init.d/rc.local 文件(Ubuntu)

    /etc/rc.d/rc.local或者 /etc/rc.local里(centos),

    方法一:

    1) 将你的启动脚本复制到 /etc/init.d目录下

    2) 设置脚本文件的权限
    $ cd /etc/init.d
    $ sudo chmod 755 /etc/init.d/ap.sh 
    3) 执行如下命令将脚本放到启动脚本中去:
    $ sudo update-rc.d ap.sh defaults 95
     
    注:其中数字95是脚本启动的顺序号,按照自己的需要相应修改即可。在你有多个启动脚本,而它们之间又有先后启动的依赖关系时你就知道这个数字的具体作用了。
     
    卸载启动脚本的方法:
    $ cd /etc/init.d
     
    $ sudo update-rc.d -f ap.sh remove
    命令输出的信息参考如下:

    Removing any system startup links for /etc/init.d/ap.sh ...
    /etc/rc0.d/K95ap.sh
    /etc/rc1.d/K95ap.sh
    /etc/rc2.d/S95ap.sh
    /etc/rc3.d/S95ap.sh
    /etc/rc4.d/S95ap.sh
    /etc/rc5.d/S95ap.sh
    /etc/rc6.d/K95ap.sh

    方法二:
    Centos 5.x 以前都可以用/etc/rc.local
    Centos 6.x 以后改成/etc/rc.d/rc.local

    一、/etc/rc.local
    这是一个最简单的方法,编辑“/etc/rc.local”,把启动程序的shell命令输入进去即可(要输入命令的全路径),类似于windows下的“启动”。

    使用命令 vi  /etc/rc.local   

    然后在文件最后一行添加要执行程序的全路径。

    例如,每次开机时要执行一个ap.sh,这个脚本放在/opt下面,那就可以在“/etc/rc.local”中加一行 “/opt/./ap.sh”(注意在 exit 0之前加),或者两行“cd /opt”和“./ap.sh”。

    方法三  方法一中添加 :     server   脚本  start/stop

    建立/etc/init.d/zzxap文本文件,输入下面的内容:

    复制代码
    #!/bin/sh
    
    case "$1" in
    start)
            start-stop-daemon --start --background --exec /etc/init.d/ap.sh  #添加脚本位置
    ;;
    stop)
            start-stop-daemon --stop --name ap.sh     #这里不需要加位置
    esac

    chmod 755 /etc/init.d/zzxap

    这样子,就可以使用service命令来启动和关闭进程了,例如启动进程如下:

    root@localhost:~# service zzxap start
    root@localhost:~# ps aux|grep zzxap
    root@localhost:~# service zzxap stop
    root@localhost:~# ps aux |grep zzxap



    update-rc.d zzxap defaults 99   
    update-rc.d -f zzxap remove(卸载)

    到这里还不能实现开机自启动 要接着设置第一步骤
    $ sudo chmod 755 /etc/init.d/ap.sh 
    3) 执行如下命令将脚本放到启动脚本中去:
    $ sudo update-rc.d ap.sh defaults 95       #   update-rc.d后面有三个参数,分别是/etc/init.d下的:1、脚本名字,2、默认安装方式,3、运行的优先级。   优先级的数字越大,表示越迟运行,这里我们把自己写的服务放在最后运行。






    背景知识

    1、运行级别:

    Linux系统任何时候都运行在一个指定的运行级上,并且不同的运行级程序和服务都不同,所要完成的工作和要达到的目的也不同,系统可以在这些运行级之间进行切换,来完成不同的工作。

    运行级别等级:

    • 0        系统停机状态
    • 1        单用户模式,只准许root用户对系统进系维护
    • 2~5  多用户模式(其中3为字符界面、5为图形界面)
    • 6         重启启动

    在这里需要注意的是,在Debian下(ubuntu其中之一)level2~5是没有任何区别的。

    使用以下命令,可以查看当前的运行级别:

    [plain] view plaincopy
     
    1. runlevel  
    runlevel显示上次的运行级别和当前的运行级别,“N”表示没有上次的运行级别。

    使用以下命令,可以切换运行级别:

    [plain] view plaincopy
     
    1. init [123456]  
    例如,init 0表示关机,init 6表示重启。

    2、启动步骤:

    • 读取MBR信息,启动Boot Manager,Linux通常使用GRUB作为Boot Manager。
    • 加载系统内核,启动init进程。init进程是Linux的根进程,所有的系统进程都是它的子进程。
    • init进程读取/etc/inittab文件中的信息,并进入预设的运行级别。在这里需要说下的是,在ubuntu的6.10版本以后,就没有了/etc/inittab文件,是因为inittab已经被update软件包所取代了,具体的可以查看/usr/share/doc/update目录。就不在这里介绍了。
    • 执行/etc/rcS.d/目录下的脚本,然后是/etc/rcX.d/目录下的脚本,X代表的是数字0~6。rcS.d和rcX.d目录下的文件都是以,S或K加上两位数字组成的,其中S代表start,K代表kill,而两位数字代表启动顺序,数字越大代表级别越低。
  • 相关阅读:
    国庆后的星期一
    如何让百度快速收录文章
    牛大发了~美国12岁女孩自制"火箭"将Hello Kitty送上近太空
    免费CDN /初体验 访问量激升19%
    国外免费CDN CloudFlare申请教程
    Windows Azure Application申请方法
    坚持转自网易轻博客LOFTER
    玩转你的Gravatar全球通用头像
    IIS下配置WordPress永久链接支持中文完美方法
    常用的SqlHelper类
  • 原文地址:https://www.cnblogs.com/hanxing/p/4013623.html
Copyright © 2011-2022 走看看