zoukankan      html  css  js  c++  java
  • 树莓派开机启动程序及启动脚本的制作

    网上有不少关于如何让Linux自动运行自己编写的脚本或者程序的方法,但是大多数都是把命令写到/etc/rc.local里,这样虽然能够实现随机运行,但是并不够灵活。不能像mysql,apache等服务一样能够使用service命令或者调用init.d下的脚本启动、关闭或者重启进程。例如,
    
    service mysql restart
    service apache2 stop
    
    或者
    
    /etc/init.d/mysql restart
    /etc/init.d/apache2 stop
    
    因为不同的Linux发行版本,对后台服务的处理方式不大一样,如redhat使用chkconfig来管理开机程序。所以下面的方法以debian类系统为例,如何写一个简单的开机启动脚本。所以,此方法适用于raspbian pi的系统。
    
    以svn为例:
    
    1.制作开机启动脚本svn_serve
    
    ```
    #!/bin/sh
    ### BEGIN INIT INFO
    # Provides:          svn_serve
    # Required-Start:    $remote_fs
    # Required-Stop:     $remote_fs
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start or stop the HTTP Proxy.
    ### END INIT INFO
    
    case $1 in
    	start)
    		svnserve -d -r /home/pi/svn_repository
    		;;
    	stop)
    		killall svnserve
    		;;
    *)
    echo "Usage: $0 (start|stop)"
    ;;
    esac
    ```
    如果不加上面的注释,执行下面步骤3时,update-rc.d会报如下的警告信息
    
    ```
    update-rc.d: warning: /etc/init.d/proxy missing LSB information
    update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
    ```
    
    2.启动关闭服务
    
    ```
    sudo service svn_serve start
    sudo service svn_serve stop
    ```
    
    3.让svn_serve开机启动
    
    ```
    sudo update-rc.d svn_serve defaults
    ```
    4.取消svn_serve的开机自动启动
    
    ```
    sudo update-rc.d -f svn_serve remove
    ```
    
    
    
  • 相关阅读:
    Cocoa如何应用设计模式
    ios 内存使用陷阱
    mac 下代码合并比较的工具(changes)
    ios NSString 字符串常用方法
    [转]PP团队圣经巨著《Application Architecture Guide2.0》12章>表现层
    ibatis hibernate 简单比较
    SharePoint安装
    ORM原理ORM目标及分层
    关于建筑与软件的思考
    [转]PP团队圣经巨著《Application Architecture Guide2.0》24章>Web程式开发向导
  • 原文地址:https://www.cnblogs.com/mahang/p/3323474.html
Copyright © 2011-2022 走看看