Script python au démarrage dans /etc/init.d./rcS ?

Script python au démarrage dans /etc/init.d./rcS ? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 29-08-2014 à 15:51:26    

Bonjour,

 

Je programme actuellement un raspberry pi pour une application embarquée.
J'ai un script appli.sh que je souhaite lancer au démarrage.
Ce script contient un fichier python qui utilise des GPIO (lecture d'un écran LCD).

 

Quand je mets appli.sh dans /etc/init.d pas de soucis ca se lance au démarrage. Par contre il met 31 secondes à se lancer, ce qui est trop long.

 

Voici appli.sh :

 
Code :
  1. #!/bin/bash
  2. python "/home/pi/affichage_LCD.py"
 


Je souhaite mettre ce script dans rcS pour qu'il se lance plus rapidement.

 

Je rajoute donc ces deux lignes à /etc/init.d/rcS :

 
Code :
  1. mount none /sys -t sysfs  #pour monter /sys et accéder au GPIO
  2. /home/pi/appli.sh
 

Ca ne fonctionne pas, dans les logs j'ai l'impression qu'il refuse de lancer les scripts python. J'imagine qu'il faut aussi monter le système python à la manière de /sys pour les GPIO.

 

Savez-vous comment faire ?

 


Merci,


Message édité par nba_pit le 29-08-2014 à 16:18:22
Reply

Marsh Posté le 29-08-2014 à 15:51:26   

Reply

Marsh Posté le 31-08-2014 à 13:14:20    

Ca lancera ton script plus tôt, mais ça ne sera pas forcément plus rapide.
A mon avis ton problème est que les système de fichiers / et /home ne sont pas encore monté à ce niveau de l'init, donc tu ne dois pas le faire à ce niveau là.
Il faut que tu t'arranges pour que ton script soit lancé juste après les montages des FS.


---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 31-08-2014 à 17:04:29    

initrd avec montage / et /home en read only.

Reply

Marsh Posté le 01-09-2014 à 14:17:55    

e_esprit a écrit :

Ca lancera ton script plus tôt, mais ça ne sera pas forcément plus rapide.
A mon avis ton problème est que les système de fichiers / et /home ne sont pas encore monté à ce niveau de l'init, donc tu ne dois pas le faire à ce niveau là.
Il faut que tu t'arranges pour que ton script soit lancé juste après les montages des FS.


Si je lance appli.sh avec un simple echo "hello World" le texte s'affiche en 2.5s si il est dans rcS alors qu'il met 31s si il est dans init.d.
Sacré gain de temps !


Message édité par nba_pit le 01-09-2014 à 14:18:40
Reply

Marsh Posté le 01-09-2014 à 14:26:16    

C'est pas le temps qu'il met à s'exécuter, c'est le temps qu'il met à être exécuté.
Bref, à toi de le scheduler au bon moment, c'est à dire juste après le montage de tes FS.

Message cité 1 fois
Message édité par e_esprit le 01-09-2014 à 14:26:25

---------------
Ce n'est point ma façon de penser qui a fait mon malheur, c'est celle des autres.
Reply

Marsh Posté le 01-09-2014 à 17:51:31    

e_esprit a écrit :

C'est pas le temps qu'il met à s'exécuter, c'est le temps qu'il met à être exécuté.
Bref, à toi de le scheduler au bon moment, c'est à dire juste après le montage de tes FS.


C'est justement ce que recherche, je veux qu'il se mette à s'exécuter le plus rapidement possible. En 2.5 secondes c'est parfait (rcS).
Peu importe le temps d'exécution car ensuite le script attend des ordres de l'utilisateur (au moyen d'un clavier matriciel relié au raspberry).
 
Je vais essayer la solution initrd qu'a donné MysterieuseX.


Message édité par nba_pit le 01-09-2014 à 17:52:36
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed