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

Programmation et administration système Perl Discussion :

Problème PID Windows


Sujet :

Programmation et administration système Perl

  1. #1
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut Problème PID Windows
    Bonjour,

    Dans un script perl, j'appelle un autre script perl via la fonction exec, il faut que ces deux scripts aient le même PID.
    Sous un Unix ca fonctionne, mais sous Windows pour une raison que j'ignore, le second script n'a pas le même PID.

    Comment corriger cela?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Je doute que ce soit possible, c'est le système qui fait cela.

  3. #3
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut
    Aie c'est ce que je craignais

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Points : 406
    Points
    406
    Par défaut
    je ne sais pas du tout comment est fait ton projet et donc si ma proposition est réalisable
    tu peux peut être détourner ton 2ème script en "librairie" avec son contenu dans une fonction: ainsi tu exécute bien les 2 traitements et windows ne devrait pas changer le PID (enfin j'imagine car je n'ai pas testé)

  5. #5
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    Lolo78 a raison, sous linux l'appel système execve() ne fait que remplacer l'espace d'adressage du processus, il n'y a pas de nouveau processus créé, donc pas de nouveau PID, sous windows... disons pour faire -très- simple que nativement il n'y a pas la possibilité d'avoir le même fonctionnement et que dès lors la problématique repose sur l'implémentation de Perl (une version Win très spécifique par exemple, mais ça n'est pas le cas) ou "autre chose" (Cygwin par exemple)

    donc pour la petite info j'ai testé pour ma part avec un Perl sous Cygwin, ça fonctionne comme attendu, même si c'est légèrement feinté

    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/usr/bin/env perl
    use English;
    print "first  : ".$PID."\n";
    exec("./second.pl") or die("pas bon");
    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/usr/bin/env perl
    use English;
    print "second : ".$PID."\n";
    Code perl : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ ./first.pl
    first  : 4604
    second : 4604

  6. #6
    Membre actif
    Avatar de Blo0d4x3
    Inscrit en
    Octobre 2003
    Messages
    583
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 583
    Points : 265
    Points
    265
    Par défaut
    J'ai commencé à regrouper tous les scripts dans un seul afin d'éviter le problème de PID. Mais le but du script c'est d'automatiser l'installation d'un outil, j'ai un .msi à lancer et la, je vais surement avoir le même problème, du coup mon script perl ne pourra pas savoir ou en est l'installation du msi :'(.

Discussions similaires

  1. Probléme avec window.opener.document
    Par FoxLeRenard dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/02/2006, 20h38
  2. Problème avec window.close()
    Par Didje dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 13/12/2005, 17h32
  3. Problème avec Windows XP
    Par Beryl dans le forum Windows XP
    Réponses: 1
    Dernier message: 24/11/2005, 22h30
  4. [pg_restore]Problème sous windows
    Par tanatiel dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 26/09/2005, 15h16
  5. Problème de window.alert sous ie!
    Par chuart dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2005, 11h47

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