Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 23/01/2013, à 12:41

BrunoL

sleep ... à poing fermé

Bonjour,

Le branchement d'une clé USB lance un script bash qui lance à son tour un second script bash en tâche de fond (&).
Ce second script commence par attendre 10 secondes (sleep 10) avant de faire son traitement qui se déroule bien.

soit :
(UDEV) --> (script 1) --> (script 1 ...10 s... fin)
  Î___________|

Sans être un problème car le traitement effectif se déroule correctement je constate un décalage dans exécution d'"echo" qui alimentent un fichier log.

En pratique, UDEV déroulement OK, Script1 idem y compris les "echo" de log (<1s) et donc pas de blocage de UDEV. Script2 le traitement est OK (10s) mais le fichier log n'est actualisé qu’après une intervention sur le bureau (entrée dans un terminal quelconque voire taper dans un traitement de texte ouvert ...)

J'ai vu dans le "Guide avancé d'écriture des scripts Bash" (p186) qu'il s'agit d'une réaction connue mais l'astuce évoquée (mettre un wait à la fin du script appelant) ne peut pas être appliquée. Le script1 ne doit pas bloquer UDEV.

Auriez-vous une autre astuce ?
Merci.

Dernière modification par BrunoL (Le 23/01/2013, à 18:52)

Hors ligne

#2 Le 23/01/2013, à 21:50

tshirtman

Re : sleep ... à poing fermé

Je suis pas 100% sur, mais si c'est ce que je pense, un appel à la commannde "sync", devrait résoudre le problème…

Hors ligne

#3 Le 25/01/2013, à 20:35

BrunoL

Re : sleep ... à poing fermé

Hey tshirtman, je boude pas wink
mais mon script fonctionne correctement depuis mon message initial !
Soit juste après un redémarrage... et ajout de quelques lignes de code en fin de script. Si cela se reproduit je testerai ta solution et ferai un retour.

Merci.

Hors ligne

Haut de page ↑