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

Shell et commandes GNU Discussion :

waitpid dans un scrip shell


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Par défaut waitpid dans un scrip shell
    Bonjour à tous,


    Débutante en unix, je dois modifier un script shell qui lance differents programmes permettant des realiser des calculs. Chaque résultat de calcul est ecrit dans un fichier, qui est utilisé pour le calcul suivant.
    Le probleme actuellement, c'est que des fois le fichier n'est pas totalement ecrit avant que l'autre calcul soit declanché (le script utilise des sleep), ce qui declenche donc une erreur, et tous les calculs continuent à s'enchainer malgré tout.
    En cherchant, j'ai trouvé un truc "waitpid" qui me parait interessant pour ce probleme, j'ai trouvé les pages de manuel, etc. Mais sur un forum j'ai lu ça "Tu ne peux pas utiliser fork et waitpid dans un script sh. Ces fonctions s'utilisent dans un programme compilé, la plupart du temps en C, ou alors dans un langage de script plus puissant comme le python ou le perl.... Bref dans un langage qui a accés aux fonctions de base du système. "
    Confirmez vous le fait qu'on ne puisse pas utiliser "waitpid" dans un shell ? si oui, que puis-je utiliser pour etre sure que mes processus soient bien finis avant d'en demarrer un autre ?

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    un script shell qui lance differents programmes permettant des realiser des calculs. Chaque résultat de calcul est ecrit dans un fichier, qui est utilisé pour le calcul suivant.(...)(le script utilise des sleep)

    D'après ce que tu écris, il semble que les programmes sont lancés en background (avec un & en fin de ligne).
    Si c'est le cas, ce n'est pas la commande sleep qu'il faut utiliser mais :

    wait $!

    $! PID du dernier process lancé en background

  3. #3
    Membre averti
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Par défaut
    non, justement les programmes n'etaient pas lancés en tache de fond, mais c'est ce que je vais faire

Discussions similaires

  1. Inclure vi dans un script shell
    Par PierrotY dans le forum Linux
    Réponses: 3
    Dernier message: 18/05/2006, 09h28
  2. Programme en C dans un script shell
    Par am.adnane dans le forum Linux
    Réponses: 1
    Dernier message: 05/02/2006, 17h57
  3. Syntaxe dans un script shell
    Par cubepiege dans le forum Linux
    Réponses: 5
    Dernier message: 27/09/2005, 16h21
  4. Modifier chaîne dans fichier en shell
    Par MiKLnet dans le forum Autres langages
    Réponses: 2
    Dernier message: 11/10/2004, 11h31
  5. problème de guillemets dans une formule shell
    Par dim_italia dans le forum VBA Access
    Réponses: 7
    Dernier message: 18/08/2003, 12h46

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