Demarrage de serveur au demarrage

Yep encore moi !!!

J’utilise blynk sur mon Raspberry. J’ai un serveur local et un client sur le meme Pi.

Au demarrage donc mon serveur ce lance avec cette modif dans le rc.local :

java -jar /home/pi/server-0.41.13-java8.jar -dataFolder /home/pi/Blynk &

Ensuite j’ai besoin de lancer le client par cette commande

node index.js

C’est la que les choses ce complique, le node index.js doit etre executer une fois que le serveur a demarré
Donc j’aimerais savoir la ligne dont j’ai besoin pour lancer le node index.js qui se trouve dans /home/pi/tralalalalere et etre sur qu’il se lance apres le demarage du serveur. Puis cerise sur le gateau ( mais la je sais pas si c’est possible de l’auto redemarrer si il plante.

Voilà, merci a tous et restez au chaud (:

Salut @Charles

Pour lancer une action puis, si elle a été exécutée, en lancer une autre, on peut faire
action1 && action2
Comme dans sudo apt update && sudo apt upgrade -y

Tu pourrais aussi faire un script bash ou python avec un temps d’attente entre les 2 actions et lancer ce script au démarrage.
Du genre :

#!/usr/bin/python3

#on importe les modules nécessaires
import time

Action1
time.sleep(15)
Action1

Pour la partie

Tu peux faire une recherche avec les mots clefs
« Surveiller un service et le relancer automatiquement »

Bonnes recherches :wink:

++

Salut,
je vois 2 choses possibles,

  • soit tu utilises le système de gestion de processus déjà présent qui s’appelle systemd, ou tu devras définir 2 services : Blynk et ton app nodejs, avec une dépendance du second pour le premier. Là tu pourras décider de relancer le service si il plante
  • soit commen le dit @Nabla tu lances une commande simple dans le rc.local et dans ce cas plutôt que de lancer directement ton app nodejs, tu lances par exemple nodemon qui s’assurera de redémarrer le service si il s’arrête. C’est plutôt orienté pour le dev car il va se relancer si il voit des modifs dans le code, mais peut être que ça t’intéresse. Exemple: nodemon ./server.js localhost 8080

J’espère que ça t’aide un peu !

Yo @Charles

Sinon, en complément de mon premier message et de celui de @coco33 :
En cas de système tournant avec un mode graphique, on peut lancer un script de 2 manières.
1 - Lancement automatique d’un script lors du démarrage “initial” du Raspberry
puis
2 -Lancement automatique d’un script lors du démarrage de l’interface graphique

Du coup, tu peux lancer le serveur avec le rc.local puis le client avec la seconde solution (mais valable que si interface graphique évidemment).
Le délai naturel entre les 2 peut aider.

Avec ces diverses pistes, ça te laisse de quoi réfléchir à ton besoin et rechercher ce qui te semble le mieux :wink:

++

Ok, je vais peut etre essayer un autre approche, etant donnée que la commande java -jar /home/pi/server-0.41.13-java8.jar -dataFolder /home/pi/Blynk est un peu longue comment es ce que je pourrais faire un petit scrypt qui me permettrai de l’apeller a la maniere de node index.js ?

Deuxieme choses, y’a t’il une astuce pour lancer le programme sur le pi et non pas dans le terminal ssh de putty ?

Je m’explique, quand je lance mon serveur ou mon index.js depuis putty si je ferme la fenetre le programme s’arrete… J’aimerais eviter ca c’est pas tres pratique…