树莓派设置开机启动脚本
网上有不少关于如何让Linux自动运行自己编写的脚本或者程序的方法,但是大多数都是把命令写到/etc/rc.local里,这样虽然能够实现随机运行,但是并不够灵活。不能像mysql,apache等服务一样能够使用service命令或者调用init.d下的脚本启动、关闭或者重启进程。例如,service mysql restart service apache2 stop或者/etc/init.d/
·
网上有不少关于如何让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的系统。
1 #!/bin/sh
2 ### BEGIN INIT INFO
3 # Provides: grabjpg
4 # Required-Start: $remote_fs
5 # Required-Stop: $remote_fs
6 # Default-Start: 2 3 4 5
7 # Default-Stop: 0 1 6
8 # Short-Description: Start or stop the /dev/video0
9 ### END INIT INFO
10 case $1 in
11 start)
12 echo "starting grabjpg...."
13 sudo /home/pi/bii/video/v4l2_jpg/grabjpg > /dev/null 2>&1 &
14 ;;
15 stop)
16 echo "stoping grabjpg...."
17 killall grabjpg
18 ;;
19 *)
20 echo "Usage: $0 (start|stop)"
21 ;;
22
23 esac
让程 grabjpg开机启动
sudo update-rc.d grabjpg defaults
让grabjpg取消开机启动
sudo update-rc.d grabjpg remove
注意:只有执行正 sudo update-rc.d grajpg defaults 才能用以service 命令启停脚本(这个让我试了好久)
启动关闭grabjpg
sudo service grabjpg start
sudo service grabjpg stop
参考文献:
[1] 开机自动执行脚本 与 update-rc.d
[2] Debian init 开机启动管理
[3] 树莓派开机启动程序及启动脚本的制作
更多推荐
已为社区贡献1条内容
所有评论(0)