zoukankan      html  css  js  c++  java
  • 树莓派 实现脚本程序自启动

    一、前言

    本文程序自启动方法是:将脚本程序作为服务启动。

    二、自启动配置

    1. 创建测试文件

    • 如果已经有了自启动的目标文件,请跳过这一步,到 "新建服务脚本文件"

    • /home/pi 目录下,创建测试文件 test_self_start.sh

      #!/bin/sh
      touch /home/pi/test_hp.txt
      chmod 777 /home/pi/test_hp.txt
      echo "Hello Pi" >> /home/pi/test_hp.txt
      

    2. 新建服务脚本文件

    在/etc/init.d/目录下新建一个服务脚本文件。在终端输入并回车

    pi@raspberry:~ $ sudo vim /etc/init.d/test_self_start
    

    3. 输入内容

    在空白文件中输入以下内容,其中:

    • "test_self_start" 是我建的服务文件名,请根据需求自行更改;
    • 第 15 行请改为:su pi -c "exec 你的脚本文件的绝对路径"
    • 里面所有的 echo 语句,都是对自启动服务的启动/暂停等功能的说明,可根据需求自行更改。
    #!/bin/sh
    #/etc/init.d/test_self_start
    ### BEGIN INIT INFO
    # Provides:aly-pi-net
    # Required-Start:$remote_fs $syslog
    # Required-Stop:$remote_fs $syslog
    # Default-Start:2 3 4 5
    # Default-Stop:0 1 6
    # Short-Description: test self_start
    # Description: This service is used to start my applaction
    ### END INIT INFO
    case "$1" in
         start)
         echo "start test_self_start."
         su pi -c "exec /home/pi/test_self_start.sh"
         ;;
         stop)
         echo "stop test_self_start."
         ;;
         *)
         echo "Usage: service test_self_start start|stop"
         exit 1
         ;;
    esac
    exit 0
    

    4. 保存退出

    按下 ESC ,再输入 :wq 保存退出

    5. 设置脚本可执行权限:

    pi@raspberry:~ $ sudo chmod 777 /etc/init.d/test_self_start
    

    6. 开机自动加载

    最后将该脚本作为服务设置开机自动加载:

    pi@raspberry:~ $ sudo update-rc.d test_self_start defaults
    

    三、成功测试

    • 如果以自定义的目标文件实现自启动,请观察结果。
    • 对于本文测试脚本 test_self_start.sh 来说:
      • 保证 /home/pi 文件下,没有 test_hp.txt 文件
      • sudo reboot 重启
      • 重启后查看在 /home/pi 目录下,是否有 echo 重定向文件 test_sh.txt ,检查内容是否为 Hello Pi
  • 相关阅读:
    VisualStudio2010配置OpenCV的一种一劳永逸的方法
    QT5 Failed to load platform plugin "windows" 终极解决方式 命令行问题
    轻松学习JavaScript二十二:DOM编程学习之节点操作
    Eclipse中安装TestNG插件
    Java Timer 定时器的使用
    技术开发团队的项目管理工具
    python里一个class可以定义多个构造函数
    python中的多继承
    python基础之使用os.system来执行系统命令
    python下划线变量的含义
  • 原文地址:https://www.cnblogs.com/Yogile/p/12458400.html
Copyright © 2011-2022 走看看