El archivo que pusiste en /etc/init.d/
debe configurarse como ejecutable con:
chmod +x /etc/init.d/start_my_app
Como señaló @meetamit, si aún no se ejecuta, es posible que deba crear un enlace simbólico al archivo en /etc/rc.d/
ln -s /etc/init.d/start_my_app /etc/rc.d/
Tenga en cuenta que en las últimas versiones de Debian, esto no funcionará ya que su secuencia de comandos deberá cumplir con LSB (proporcione al menos las siguientes acciones:iniciar, detener, reiniciar, forzar recarga y estado):https://wiki .debian.org/LSBInitScripts
Como nota, siempre debe usar la ruta absoluta a los archivos en sus scripts en lugar de la relativa, puede resolver problemas inesperados:
/var/myscripts/start_my_app
Finalmente, asegúrese de haber incluido el shebang en la parte superior del archivo:
#!/bin/sh
Primero cree su script de inicio @ /home/user/startup.sh, y hágalo ejecutable
chmod +x /home/user/startup.sh
Luego configura un crontab para ello:
$ crontab -e
@reboot /home/user/startup.sh
Ahora su secuencia de comandos startup.sh se ejecutará en cada inicio.