Le fichier que vous avez mis en /etc/init.d/
doivent être définis comme exécutables avec :
chmod +x /etc/init.d/start_my_app
Comme l'a souligné @meetamit, s'il ne fonctionne toujours pas, vous devrez peut-être créer un lien symbolique vers le fichier dans /etc/rc.d/
ln -s /etc/init.d/start_my_app /etc/rc.d/
Veuillez noter que sur les dernières versions de Debian, cela ne fonctionnera pas car votre script devra être conforme au LSB (fournir au moins les actions suivantes :démarrer, arrêter, redémarrer, forcer le rechargement et l'état) :https://wiki .debian.org/LSBInitScripts
Notez que vous devez toujours utiliser le chemin absolu des fichiers dans vos scripts au lieu du chemin relatif, cela peut résoudre des problèmes inattendus :
/var/myscripts/start_my_app
Enfin, assurez-vous d'avoir inclus le shebang en haut du fichier :
#!/bin/sh
Créez d'abord votre script de démarrage @ /home/user/startup.sh, et rendez-le exécutable
chmod +x /home/user/startup.sh
Définissez ensuite une crontab :
$ crontab -e
@reboot /home/user/startup.sh
Maintenant, votre script startup.sh s'exécutera à chaque démarrage.