IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Attendre l'arrivée d'un fichier


Sujet :

Linux

  1. #1
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut Attendre l'arrivée d'un fichier
    Bonjour,

    J'ai besoin dans un script shell d'attendre l'arrivée d'un fichier dans un répertoire vide.
    J'ai pensé utiliser une boucle qui teste indéfiniment l'existence du fichier .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # Attendre l'arrivée du fichier dans ${Repert}
    while ! [ -f ${Repert}/* ]
    do
       sleep 20
    done
    # Traiter le fichier reçu
      ...
    J'ai un peu peur d'imposer une charge au système pour pas grand'chose, qui est utilisé par ailleurs comme serveur de SGBD Multidimensionnel et donc déjà très chargé.
    Je me demandais s'il n'existait pas une manière plus élégante de faire la même chose.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  2. #2
    Expert confirmé
    Avatar de Katyucha
    Femme Profil pro
    DevUxSecScrumOps Full Stack Bullshit
    Inscrit en
    Mars 2004
    Messages
    3 287
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Irlande

    Informations professionnelles :
    Activité : DevUxSecScrumOps Full Stack Bullshit

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 287
    Points : 5 075
    Points
    5 075
    Par défaut
    Mettre un sleep plus long peut etre...

    Sinon si ce test est en début de script :

    Utilisation de la crontab pour lancer le script a chaque minute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Si Fichier lock absent 
    Alors 
           Si fichier machin présent
           Alors
               Création fichier lock
                Traitement
                Suppression fichier lock
           Fin
    Fin
    Mais bon, on sollicite la crontab donc le fichier cron.. donc pas bon...
    Mauvaise idée de ma part
    Grave urgent !!!

  3. #3
    vic
    vic est déconnecté
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2002
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 431
    Points : 498
    Points
    498
    Par défaut
    Salut,

    Le script que tu proposes avec un test d'existence toutes les 20s et en sleep le reste du temps imposerait une charge extrêmement faible au système, peut-être 1s de temps processeur au bout de 1 mois d'exécution

    Le seul besoin serait un besoin de ram pour le shell qui interprétera le script, mais tu as probablement d'autres shells ouverts donc la mémoire serait partagée entre eux. Compter 1Mo ou 2.

    vic

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Merci beaucoup pour ta réponse.
    Sur les 8 Go installés sur la machine, je ne pense pas que 1 ou 2 Mo soient très sensibles
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Je n'arrive pas a afficher mes fichiers cachés
    Par makaphrodite dans le forum Windows XP
    Réponses: 5
    Dernier message: 31/03/2008, 13h44
  2. [Configuration] Je n'arrive pas à envoyer un gros fichier
    Par Alexandrebox dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 14/03/2007, 09h31
  3. [FLASH MX2004] [AS2] Attendre la fin de chargement d'un fichier avant de continuer.
    Par Demco dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 01/03/2007, 15h13
  4. [langage] j´arrive pas a supprimer des fichiers
    Par makohsarah dans le forum Langage
    Réponses: 3
    Dernier message: 30/10/2006, 14h10
  5. je n'arrive pas a ouvrir un fichier word
    Par Eh_manu dans le forum Access
    Réponses: 8
    Dernier message: 05/06/2006, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo