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

Langage Perl Discussion :

commande system ou exec


Sujet :

Langage Perl

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut commande system ou exec
    Bonjour,

    Je rencontre un probléme avec la commande "system". Je m'explique à travers un ordonanceur, je lance un script perl se situant sur un pc (dans celui ci, je fais des copies de fichier, des tableaux et je lance un exe via la commande system ("c:/batch.exe").

    Lorsque je le lance de maniere manuel : tous fonctionne bien.

    par contre à partir du moment ou je le lance par mon ordonnanceur, il me lance bien le script perl. Mais ne m'exécute jamais ma commande system. Pourtant les copies, les montages de lecteurs se font bien.

    Est ce que quelqu'un à déjà rencontré le probléme !!! Est ce un beug ??

    Je rencontre le meme probléme avec l'exec.

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Soit un problème de droit, soit un problème d'environnement. Utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    system "c:/batch.exe"
        and die "Problème avec system() : $!";
    Et dis nous ce que tu vois.

    --
    Jedaï

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut
    En effet, il me marque Problème avec system() !!

    pourtant tous les uers, on le droit d'accéder à mes fichiers et mon exécutable.

    que puis je tester ??

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut
    enfin il me marque probleme, parce que je mets "and" et si je mets || !!!! j'ai rien !!!

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut
    par contre si je mets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    my @tableau;
    @tableau=`C:/batch.bat`;
    là il m'execute mon batch.

    vraiment bizard comme comportement !!!

  6. #6
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Oui, mais quand tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system "c:/batch.exe" and die "Problème avec system() : $!";
    Que t'affiche-t-il après Problème avec system() ? Normalement il devrait t'afficher le dernier message d'erreur...

  7. #7
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut
    il me marque "Problème avec system() : at C:\toto.pl line 8."

    et ma ligne 8 du fichier pl, correspond à :
    system ("c:/tata.bat")

  8. #8
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    En gros quand il fait ça, c'est qu'il y a eu un die sans erreurs préalables quoi... Cela expliquerais pourquoi quand tu remplaces le and par un or il ne t'affiche rien. Grosso modo, il croît avoir exécuté le system() mais ça ne semble pas être le cas...
    Je vois pas pourquoi c'est comme ça je dois dire.
    Bah, ton problème est il réglé grâce aux apostrophes inversées ?

  9. #9
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut
    ouai mais les apostrophes inversés, je trouva pas ça génial !!!

    si quelqu'un a déjà renconté le probléme, j'aimerai bien avoir la solution.

    merci quand meme

  10. #10
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Il me vient une idée bête... Quand tu exécutes ce script, la console ne semble-t-elle pas s'ouvrir et se fermer immédiatement après ?
    Ce que je me dit, c'est que quand tu exécutes ce script normalement, la console est ouverte, donc le résultat de ta commande est affichée dessus. Mais quand tu l'exécutes à partir de ton ordonanceur, elle ne l'est pas. Quand on lance un programme qui lance la console à partir de windows, il s'exécute et à la fin de son exécution, la console se referme... A mon avis ce qu'il se passe, c'est tout marche correctement mais trop rapidement pour que tu t'en apercoive.

    Après, je divague peut être complètement, mais ça expliquerais bien des choses...

  11. #11
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut
    le batch que je lance doit me créer un fichier.
    Ors dans ce cas bien précis , il ne me créer rien ! donc j'en conclu que ça ne fonctionne pas, meme si l'ouverture de la fenetre est rapide.

    Petite information supplémentaire, la machine sur lequel l'ordonnanceur prend la main avec le compte toto, a déjà une session d'ouverte avec un compte tata.

    Au début, je me suis dit, c'est parce qu'il y a déjà un compte d'ouvert. Mais le probléme, c'est que toutes mes autres commandes passent à travers mon script perl. sauf la commande system et exec.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Par défaut
    c'est quoi ton ordonnanceur ?

Discussions similaires

  1. commande systeme exec
    Par 20styles dans le forum Administration système
    Réponses: 1
    Dernier message: 15/07/2011, 18h34
  2. [le retour] commande systeme
    Par ronan99999 dans le forum Windows
    Réponses: 2
    Dernier message: 29/07/2004, 10h11
  3. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 12h01
  4. Prblème avec la commande system
    Par AnneOlga dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/03/2004, 16h05
  5. La commande systeme
    Par sunshine33 dans le forum MFC
    Réponses: 11
    Dernier message: 13/01/2004, 11h34

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