Raspberry Pi – ejecución de programas en el arranque del S.O.

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

sudo nano /etc/init.d/NombreDelScript

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

10 pensamientos en “Raspberry Pi – ejecución de programas en el arranque del S.O.”

  1. 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”?

  2. 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

  3. 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

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Eres humano? pon el resultado * Time limit is exhausted. Please reload CAPTCHA.