Escript al inicio no inicia

Imagen de fortil
0 puntos

Hola a todos(as)

Resulta que quiero poner un programa que hice (está en binario) al inicio de cualquiera de las secciones de usuarios de ubuntu.

Pero creo que para los binarios no sé si se pueda, además este necesita algunos permisos de root porque tiene funciones tales como shutdown por lo que me pide la contraseña de root.

Entonces hice un script (cc.sh) el cual lo he puesto en /etc/init.d/ le he dado permisos de ejecución (con root), luego lo pongo que se ejecute de último sudo update-rc.d cc.sh defaults 99 en la lista.

Pero al iniciar nunca se ejecuta el programa.

Este es mi script:

# !/bin/sh
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

sleep 15
cd /home/ &&
./programa &&
pid=$! &&
wait $pid &&
sleep 1 &&
killall5

La verdad la parte de la cabecera no la entiendo bien, per según lo poco que entendí le puse $all al inicio y al final por si las moscas.

como ven el programa se encuentra en la carpeta Home, pero no pasa nada.

PD: ya he intentado poner también en rc.local, ponerle las lineas de ejecución del script, colocandolo en varios directorios (/etc/init.d /home, etc hasta colocando directamente el programa en esta parte, y nada.

Imagen de Gabriel_M
+1
0
-1

Para la ejecución automática de un script:
Te logueas como root

sudo su

Lo copias a /etc/init.d/

cp /home/tuusario/cc.sh /etc/init.d/cc.sh

Reafirmas los permisos

chmod +x /etc/init.d/cc.sh
chmod 0755 /etc/init.d/cc.sh

Haces que lo tomen al inicio

cd /etc/init.d/
update-rc.d cc.sh defaults

Cuando lo quieras eliminar del inicio ejecutas:

sudo su
update-rc.d -f cc.sh remove
+1
0
-1