J'ai actuellement codé un système de Client/serveur en C mais j'aimerai que le serveur démarre automatiquement au démarrage du raspberry pi.
J'ai trouvé plusieurs moyen de le faire mais aucun de fonctionne réellement ou alors j'obtiens une erreur que je ne sais résoudre :/
Exemple:
On m'a dis que je pouvais faire démarrer le programme via le fichier rc.local se trouvant /etc/init.d/rc.local
J'ai donc rajouté le programme dans mon rc.local
GNU nano 2.7.4 Fichier : rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP adress
IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
./Bureau/Serveur\ Distant/Projet/Robot\ Rasp/Programmation/Source/Linux/Serveur\ Robot\ Rasp/Server
exit 0
puis ensuite j'ai voulu faire un reload
sudo systemctl daemon-reload
et j'ai voulu l'activer
sudo systemctl enable rc.local
J'obtiens donc ce résultat:
Synchronizing state of rc.local.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable rc.local
update-rc.d: error: rc.local Default-Start contains no runlevels, aborting.
J'ai une erreur et je ne sais pas comment la régler :/ J'ai entendu parler d'un fichier à rajouter pour dire comment il s'execute mais je ne sais pas ou et quoi mettre dedans :/
Sur ce je vous remercie d'avance pour vos réponses, pendant ce temps je vais continuer mes recherches
- Edité par Xonir 23 juin 2018 à 10:57:48
Etudiant en Licence de conception Industrielle, adore particulièrement l'impression 3D
Je me suis fait un bot pour discord et à force de déconnexion intempestif, j'ai fais un fichier avec des fonctions start, stop, reload et une fonction de monitoring pour vérifier que le bot ne ce soit pas déconnecté.
Du coup, j'ai fait :
sudo chmod 775 /(le chemin vers ton fichier)/(le nom de ton fichier)
Ensuite,
crontab -e
Et pour finir,
@reboot /(chemin vers ton fichier)/(le nom de ton fichier) start
Pour ajouter la fonction start, tu peut faire comme ça
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
start-function(){
# Print the IP adress
IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
}
case "$1" in
start)
start-function
./Bureau/Serveur\ Distant/Projet/Robot\ Rasp/Programmation/Source/Linux/Serveur\ Robot\ Rasp/Server
;;
*)
echo "Usage: $0 start"
esac
exit 0
Je débute la dedans, je m'amuse avec mon raspberry pi du coup, je sais pas si c'est la bonne méthode à appliquer, mais en tous cas, ça fonctionne =)
Je te remercie, je testerais ça quand j'aurai un peu de temps libre :p
Pour le moment, j'ai trouvé une solution de substitution. je fais démarrer le serveur via le fichier se trouvant "/etc/xdg/lxsession/LXDE-PI/autostart".
Le seul problème c'est qu'il ne s'ouvre pas avec le terminal (il n'y a rien d'afficher) mais le serveur est tous de même ouvert ce qui me permet de me connecter.
Etudiant en Licence de conception Industrielle, adore particulièrement l'impression 3D
Script au démarrage
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Etudiant en Licence de conception Industrielle, adore particulièrement l'impression 3D
Etudiant en Licence de conception Industrielle, adore particulièrement l'impression 3D
Etudiant en Licence de conception Industrielle, adore particulièrement l'impression 3D