设置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...”的形式保存所有输入的命令行参数

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

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

权限设置:

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

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

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

原文地址:https://www.cnblogs.com/SkystarX/p/12286032.html

时间: 2024-08-29 13:01:38

设置Raspberry Pi开机启动的相关文章

编译安装Nginx //设置nginx自动开机启动

Nginx 安装 系统平台:CentOS release 6.6 (Final) 64位. 设置nginx 自动开机启动 :chkconfig --level 235 nginx on chkconfig 提供了一个维护/etc/rc[0~6] d 文件夹的命令行工具,它减轻了系统直接管理这些文件夹中的符号连接的负担.chkconfig主要包括5个原始功能:为系统管理增加新的服务.为系统管理移除服务.列出单签服务的启动信息.改变服务的启动信息和检查特殊服务的启动状态.当单独运行chkconfig

设置自己的开机启动服务

在CentOS系统下,主要有两种方法设置自己安装的程序开机启动.1.把启动程序的命令添加到/etc/rc.d/rc.local文件中,比如下面的是设置开机启动httpd. 1 #!/bin/sh 2 # 3 # This script will be executed *after* all the other init scripts. 4 # You can put your own initialization stuff in here if you don't 5 # want to

树莓派3B远程VNC的设置(包括开机启动)

可以说,现在很少有自带VNCserver的教程 因为之前 官方系统没有自带VNC  但是 现在  最新版的官方系统已经自带VNCserver 只需要在设置里启用一下,然后设置就可以用啦. 别的教程都是安装VNC sudo apt-get install tightvncserver vncserver -geometry 1024x768 但是我们不这样用. 上一篇文章的最后写到 (http://www.cnblogs.com/crosys/p/6220168.html) 为了下一步准备 这里需

systemd设置rc.local开机启动

systemd 里有 rc-local.service ,只需要再写一个 rc.local 的脚本即可. 1.编辑 /usr/lib/systemd/system/rc-local.service 文件: [Unit] Description=/etc/rc.d/rc.local Compatibility After=network.target [Service] Type=forking ExecStart=/etc/rc.d/rc.local start TimeoutSec=0 Rem

CentOS 7设置服务的开机启动

Centos 7下我们常常使用systemctl命令对服务进行管理,systemctl命令的使用方法如下: systemctl   选项     服务.service 而最常用的选项有如下6个 start(启动)     stop(关闭)     resstart(重启)              //立即生效 enable    disable    is-enable                                 //针对下次开机的时候动作 systemctl enable

Linux重新设置服务及开机启动服务

今天遇到Linux重启后,系统开机启动到某个服务后,挂住了.但是可以通过SSH进行远程连接. 这时候,可以通过语句,重新进行服务的开机启动设置,方法如下: for i in `chkconfig --list|grep 3:on`;do chkconfig $i off;done  chkconfig --list  for i in crond network sshd rsyslog;do chkconfig $i on;done  chkconfig --list 这样,执行reboot重

Ubuntu 16.04设置rc.local开机启动命令/脚本的方法(通过update-rc.d管理Ubuntu开机启动程序/服务)

注意:rc.local脚本里面启动的用户默认为root权限. 一.rc.local脚本 rc.local脚本是一个Ubuntu开机后会自动执行的脚本,我们可以在该脚本内添加命令行指令.该脚本位于/etc/路径下,需要root权限才能修改. 该脚本具体格式如下: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the scrip

Linux中 设置apache,mysql 开机启动

linux开启启动的程序一般放在/etc/rc.d/init.d/里面,/etc/init.d/是其软连接 mysql设为linux服务 cp /usr/local/mysql5/share/mysql/mysql.server /etc/init.d/mysqldchkconfig --add mysqldchkconfig --level 2345 mysqld onchown mysql:mysql -R /usr/local/mysql5/service mysqld start apa

ubuntu设置自定义程序开机启动(本文以tomcat为例)

准备工作: 由于tomcat要用到Java,所以需要安装jdk,并配置好java的环境变量.这部分不再赘述,而且不是本文的重点. 方法一.加入/etc/rc.loal[email protected]:~# vim /etc/rc.loal在exit 0 之前添加如下内容: /usr/local/apache-tomcat-7.0.54/bin/startup.sh 方法二.通过启动脚本创建一个服务首先,自己要先写一个tomcat.sh,里面实现start.stop.restart等操作.文件内