zoukankan      html  css  js  c++  java
  • 设置Raspberry Pi开机启动

    树莓派程序开机启动设置。

    关于开机启动,我在网上找的一个教程,然后照着做了一次。

    需要开机启动的程序是自己写的 我的是一个数据传输的程序,名字为 trans.py

    开机启动脚本,保存在/etc/init.d目录下面:

    #!/bin/bash

    # /etc/init.d/trans

    ### BEGIN INIT INFO

    # Provides: xiaofeng

    # Required-Start: $remote_fs $syslog

    # Required-Stop: $remote_fs $syslog

    # Default-Start: 2 3 4 5

    # Default-Stop: 0 1 6

    # Short-Description: trans initscript

    # Description: transform data

    ### END INIT INFO

    case "$1" in

        start)

            echo "Starting trans"

            /scream/trans.py &

            ;;

        stop)

            echo "Stopping trans"

            #kill all trans.py

            kill $(ps aux | grep -m 1 'python /scream/trans.py' | awk '{ print $2 }')

            ;;

        *)

            echo "Usage: service ledblink start|stop"

            exit 1

            ;;

    esac

    exit 0

    这个是原来的脚本。我把红色标记的地方换成了我的程序的信息,然后就OK了。我脚本 的保存的名字是trans  

    修改权限:sudo chmod +x /etc/init.d/trans

    可以通过service命令测试一下

    sudo service trans start#启动

    sudo service trans stop#停止

    我开始时测试service命令出错,说找不到文件,应该是权限的问题,后来我又重新做了一边,莫名其妙得好了。

    最后设置开机启动:sudo update-rc.d trans defaults

    删除开机启动:update-rc.d -f trans remove

    参照文章的出处:

    https://www.embbnux.com/2015/04/12/raspberry_pi_setting_python_script_start_on_boot/

    Update-rc.d 命令的用法 http://www.52pi.net/?p=255

    关于脚本语言的case的用法:

    case 字符串 in

    模式1) command;;

    模式2) command;;

    ......

    Esac

    Case语句是多分支语句,它按照“)”左边的模式对字符串值的匹配来执行相应的命令,匹配是由上而下地进行,总是执行首先匹配到的模式对应的命令表。如果,模式中的每一个都匹配不到,则什么也不执行,一边后再后面放一个*),表示以上都不匹配的任意字符串。“;;”表示该模式对应的命令部分的程序。

    $#:表示保存程序命令行参数的数目。

    $?:表示保存前一个命令的返回值。

    $0:表示列出当前的程序名

    $*:表示以“$1 $2...”的形式保存所有输入的命令行参数

    $@:表示以“$1”“$2”...的形式保存所有输入的命令行参数。

    $n:$1为命令行的第一个参数,$2为命令行的第二个攒书,一次类推。

    权限设置:

    chmod u+x name 表示只有自己可以执行

    chmod ug+x name 表示自己以及同一群可以执行。

    chmod +x 表示所有人都可以执行

  • 相关阅读:
    Java 读写Properties配置文件【转】
    leetcode_回文数
    leetcode_整数反转
    leetcode_两数之和
    DVWA_XSS(DOM)
    DVWA_File Upload 文件上传 抓包改包传木马 图片马的制作 Impossible的代码审计
    DVWA_File Inclusion 文件包含 远程文件包含拿webshell
    DVWA_Command Injection 命令注入
    bugku_本地包含
    sqli-labs-master-Less-5 基于聚合分组函数报错的双注入(盲注手注)还有一种基于溢出的报错双注入要整理
  • 原文地址:https://www.cnblogs.com/SkystarX/p/12286032.html
Copyright © 2011-2022 走看看