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

AIX Discussion :

Variables sous Unix AIX


Sujet :

AIX

  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut Variables sous Unix AIX
    Bonjour,

    Dans un shell ksh et un unix AIX, comment va etre géré une même variable (mais pas avec la même valeur) de deux scripts (similaire au contenu mais différents au nom) executés au même moment par une application ?

    En fait concretement, j'ai une application qui va scruter des fichiers. Quand ceux-ci vont être dans leur repertoire respectif,l'application va lancer un script shell ksh respectif pour chaque fichier répéré. La seule différence dans les scripts est la valeur de la variable fic.

    Est ce que l'AIX peut se mélanger les pédales au niveau des variables qui auront le meme nom et qui seront peut être valorisées au même moment ?

    Merci beaucoup.

    Apprentioracle

  2. #2
    Membre expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Par défaut
    Les variables sont "privées" et chaque script lancé (même deux instances du même script) disposent de leur propre allocation en mémoire.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 801
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ApprentiOracle Voir le message
    Bonjour,

    Dans un shell ksh et un unix AIX, comment va etre géré une même variable (mais pas avec la même valeur) de deux scripts (similaire au contenu mais différents au nom) executés au même moment par une application ?
    Sous Unix, chaque programme s'exécute dans un environnement individuel totalement fermé. Cet environnement comprend un espace pour que le code s'exécute, un espace pour stocker les variables générales et un espace pour stocker les variables passées comme paramètre à une fonction. C'est une des principales raisons qui font qu'il ne peut pas y avoir de virus sous Unix.

    Donc un même script (qui est interprété par le programme /bin/ksh) peut être lancé 200 fois en parallèle, il n'y aura aucun mélange des variables. Au contraire, la grande difficulté des programmeurs est d'arriver à faire passer des valeurs d'un programme à un autre et il existe des mécanismes spécifiques pour ça (ipcs, pipe, socket, fichiers disque)

    Le seul danger de mélange peut provenir des fichiers temporaires que crée éventuellement le script. Si le programmeur n'est pas vigilant quand au nom de ces fichiers temporaires, il peut y avoir collision (si un script va travailler dans /tmp/toto et qu'on le lance 2 fois en parallèle il y aura deux processus qui travailleront en même temps dans "/tmp/toto" et les datas de l'un se mélangeront avec les datas de l'autre).
    Pour éviter ce problème, on essaye d'éviter autant que possible les fichiers temporaires, et si on doit y passer par là, on prend alors toujours soin de rajouter "$$" (n° de processus) aux noms des fichiers temporaires qu'on crée. Comme un n° de processus est unique et dure durant toute l'exécution du programme, plus de soucis.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Par défaut
    Merci à vous 2, Fransoo et Sve@r.

    Vos réponses me rassurent totalement.

  5. #5
    Membre expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Par défaut
    Une petite idée sans utiliser de processus complexes :
    Au lieu d'exécuter les scripts enfants les "sourcer" dans le script principal.
    Attention : cela demande d'attribuer certains noms de variables spécifiques et uniques (en utilisant un timestamp, par exemple) pour chacun des scripts "sourcés". Je ne l'ai pas expérimenté mais je pense que ça doit être possible. À appronfondir.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/04/2013, 15h50
  2. JAXB sous Unix AIX
    Par SML Abrams dans le forum Persistance des données
    Réponses: 3
    Dernier message: 26/10/2012, 09h43
  3. récupération de variable sous unix
    Par cell dans le forum Pentaho
    Réponses: 2
    Dernier message: 05/05/2010, 09h37
  4. Comment affecter une variable sous unix
    Par police44 dans le forum Forms
    Réponses: 2
    Dernier message: 16/03/2010, 10h08
  5. Problème de compilation postgres 8.4.1 sous Unix AIX
    Par casasniper dans le forum Installation
    Réponses: 7
    Dernier message: 16/10/2009, 12h58

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