树莓派怎么用服务方式设置开机启动

这篇文章将为大家详细讲解有关树莓派怎么用服务方式设置开机启动,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一、首先写个简单的python 脚本
脚本很简单,就是树莓派上一个灯闪烁程序,需要学gpio可以看我之前的博客
文件保存在/home/pi/script/ledblink.py

  1. #!/usr/bin/env python

  2.   

  3. import RPi.GPIO as GPIO

  4. import time

  5. GPIO.setmode(GPIO.BCM)

  6. GPIO.setup(21,GPIO.OUT)

  7. while True:

  8.   try:

  9.     GPIO.output(21,True)

  10.     time.sleep(1)

  11.     GPIO.output(21,False)

  12.     time.sleep(1)

  13.   except (KeyboardInterrupt, SystemExit):

  14.     GPIO.close()

  15.     print "exit"

启动脚本可以是python,可以是shell,也可以是C语言C++编译的可执行文件。
 

二 、开机启动脚本
保存脚本为/etc/init.d/ledblink文件

  1. #!/bin/bash

  2. # /etc/init.d/ledblink

  3.   

  4. ### BEGIN INIT INFO

  5. # Provides: embbnux

  6. # Required-Start: $remote_fs $syslog

  7. # Required-Stop: $remote_fs $syslog

  8. # Default-Start: 2 3 4 5

  9. # Default-Stop: 0 1 6

  10. # Short-Description: ledblink initscript

  11. # Description: This service is used to manage a led

  12. ### END INIT INFO

  13.   

  14. case "$1" in

  15.     start)

  16.         echo "Starting LED Blink"

  17.         /home/pi/script/ledblink.py &

  18.         ;;

  19.     stop)

  20.         echo "Stopping ledblink"

  21.         #killall ledblink.py

  22.         kill $(ps aux | grep -m 1 'python /home/pi/script/ledblink.py' | awk '{ print $2 }')

  23.         ;;

  24.     *)

  25.         echo "Usage: service ledblink start|stop"

  26.         exit 1

  27.         ;;

  28. esac

  29. exit 0

三、设置python脚本开机启动

  1. sudo chmod +x /etc/init.d/ledblink

这样启动改脚本用service 命令就可以

  1. sudo service ledblink start#启动

  2. sudo service ledblink stop#停止

最后设置开机启动就好了

  1. sudo update-rc.d ledblink defaults

这样就完工了,重启树莓派就会发现led自己闪烁了,停止用sudo service ledblink stop就行。

关于树莓派怎么用服务方式设置开机启动就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/206719.html

(0)
上一篇 2021年12月3日
下一篇 2021年12月3日

相关推荐

发表回复

登录后才能评论