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
    ```
    
    
    
  • 相关阅读:
    岳麓山岳麓书院
    花洲书院
    《诫子书》诸葛亮
    AI ML DL
    台湾大学林轩田机器学习基石
    LeNet
    VGGNet
    AlexNet 2012
    AS 中 Plugin for Gradle 和 Gradle 之间的版本对应关系
    AndroidStudio、gradle、buildToolsVersion关系
  • 原文地址:https://www.cnblogs.com/mahang/p/3323474.html
Copyright © 2011-2022 走看看