设置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 命令的用法 ?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 暗示所有人都可以执行
设置Raspberry Pi开机启动
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/30281.html