A menudo es necesario que algunos script se ejecuten cada vez que se inicia la Raspberry, para evitar tener que acordarse de ejecutarlos manualmente cada vez que se enciende la máquina. Este tutorial es válido para cualquier versión de LInux y Debian.
hay varias maneras de ejecutar un comando de arranque en linux, pero el más acertado es crear un script de inicialización en /etc/init.d y registrarlo con el comando update-rc.d. De esta manera la aplicación se inicia y se detiene automáticamente cuando el sistema arranca y se detiene.
Hay un montón de maneras de ejecutar un comando en el arranque de Linux, pero mi enfoque preferido es crear un script de inicialización en / etc / init.d y registrarlo con el comando update-rc.d. De esta manera la aplicación se inicia y se detiene automáticamente cuando el sistema arranca y parad.
Crear un script en /etc/init.d
The following is an example based on starting up the no-ip service [/usr/local/bin/noip], but change the name of the script and the command to start and stop it and it would work for any command.
El siguiente es un ejemplo está basado en la puesta en marcha de un servicio llamado NombreDelScript, pero con cambiar el nombre en la secuencia de comandos y en el comando para iniciar y detener y funcionara para cualquier script.
#! /bin/sh # /etc/init.d/noip ### BEGIN INIT INFO # Provides: NombreDelScript # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Simple script to start a program at boot # Description: A simple script which will start / stop a program a boot / shutdown. ### END INIT INFO # If you want a command to always run, put it here # Carry out specific functions when asked to by the system case "$1" in start) echo "Starting NombreDelScript" # run application you want to start /usr/local/bin/NombreDelScript ;; stop) echo "Stopping NombreDelScript" # kill application you want to stop killall NombreDelScript ;; *) echo "Usage: /etc/init.d/NombreDelScript {start|stop}" exit 1 ;; esac exit 0
Advertencia – es MUY importante probar primero el scritp y asegurarse de que no necesita un usuario para proporcionar una respuesta, pulse «y» o similares, ya que puede que le cuelgue la Raspberry PI en el arranque quedándose esperando a un usuario (que no está allí ) que haga algo!
Hacer el script ejecutable
sudo chmod 755 /etc/init.d/NombreDelScript
Probar si el programa arranca
sudo /etc/init.d/NombreDelScript start
Probar si el programa se para correctamente
sudo /etc/init.d/NombreDelScript stop
Registrar el script para que se ejecute al arrancar la máquina
Para registrar el script y que se ejecute en el arranque y la parada, ejecute el siguiente comando:
sudo update-rc.d NameOfYourScript defaults
Si quieres saber más sobre la creación de scripts LSB para la gestión de servicios, consulta http://wiki.debian.org/LSBInitScripts
Si alguna vez deseas eliminar el script del inicio, ejecuta el siguiente comando:
sudo update-rc.d -f NameOfYourScript remove
Fuente: stuffaboutcode.com
Nunca olviden poner la referencia de donde sacaron la info.
Me parece que es esta:
http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html
Gracias
Mil disculpas, un olvido imperdonable, corregido y aumentado:
Traducido y adaptado de http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html
hola disculpa tengo una duda, quiero ejecutar un script pero como usa los GPIO necesito iniciarlo como root. ¿Existe alguna variación o algun punto donde deba escribir el «sudo»?
Necesitas utilizar sudo o ejecutarlo como root en las llamadas a programas que vayan a tener acceso al GPIO.
hola buenos dias al estar haciendo un proyecto me sale este error me podrían ayudar a solucionarlo?
wiringPiISR: excel failed: too many levels of symbolic links
Eso está indicando que tu código o tu configuración es incorrecta, busca en google, encontrarás varias respuestas.
Disculpa como puedo hacer para que se ejecute ciclicamente, estoy trabajando en un proyecto y necesito que cierto tiempo se apague y encienda y cuando encienda ejecute mi programa… Saludos
Para ejecutar algo cíclicamente configúralo con el cron
La aplicacion se ejecuta le hago start, pero no se ejecuta al inicio
No debes haber hecho bien la configuración.