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 :

Probleme ping sous perl


Sujet :

Programmation et administration système Perl

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 197
    Par défaut Probleme ping sous perl
    Bonjour a tous,
    Je fais un ping avec un test en fonction du resultat mais je ne print rien du ping et pourtat il m affiche qq chose ca vient d ou ????


    Warning: time of day goes back, taking countermeasures.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #!/usr/bin/perl
    use strict;
    package sous_fonc_ping;
    sub Fonc_Ping
    {
            my ($Ping_Cmd,$Ping_Cible,$Adress_Ip,$Ping);
            ($Adress_Ip) =@_;
            $Ping_Cmd = "ping -c 2  ";
            $Ping_Cible ="$Adress_Ip";
            $Ping = `${Ping_Cmd} ${Ping_Cible}`;
            chomp($Ping);
            return $Ping;
    }
    1;
    Merci de me dire si c est possible d eviter d voir une connerie qui s affiche !!!
    Jules

  2. #2
    Invité
    Invité(e)
    Par défaut
    Pourquoi ne pas utiliser Net:ing ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        use Net::Ping;
     
        $p = Net::Ping->new();
        print "$host is alive.\n" if $p->ping($host);
        $p->close();

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 197
    Par défaut
    Tout bonnement parceque je ne connaissait mais merci je vais tester !!
    A pluche jules

  4. #4
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 879
    Par défaut
    Petit tag résolu si c'est bon.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  5. #5
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Sinon, de façon générale, quand on utilise des commandes système, plutot que des modules équivalents, il faut savoir qu'elles ont deux sorties :
    • - la sortie standard qui reçoit l'affichage "ordinaire" de la commande, et qui est généralement récupérée par nos scripts.
      - la sortie d'erreur, qui reçoit les avertissements et alertes. Celle-ci est distincte de la première et est donc affichée si l'on n'a rien fait pour l'éliminer ou la récupérer aussi.


    Les backquotes et la commande open ne récupèrent que la sortie standard, et pas celle d'erreur.

    Je crois que la commande système récupère les deux (sauf spécification contraire)

    Certains éliminent tout simplement leurs sorties d'erreur avec une redirection explicite de la sortie d'erreur vers un puit sans fond (/dev/null sous *n*xoïdes) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Ping = `${Ping_Cmd} ${Ping_Cible} 2>/dev/null`;
    D'autres, plus subtils, utilisent les mécanismes de Perl pour les redirections de la sortie d'erreur vers des fichiers séparés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    open(STDOUT, ">fichier_des_erreurs.txt");
        system("${Ping_Cmd} ${Ping_Cible}");

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 197
    Par défaut
    Pourrais tu juste me preciser a quoi correspond le chiffre 2 STP de la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Ping = `${Ping_Cmd} ${Ping_Cible} 2>/dev/null`;
    Et merci ca fonctionne nickel !!

  7. #7
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Le 2 est le numéro de la sortie d'erreur.

    Le 1 est le numéro de la sortie standard, et c'est le numéro implicite de l'opérateur de redirection >.

    Si l'on veut rediriger autre chose que la sortie standard, il faut préciser ... donc pour STDERR, c'est "2>".

  8. #8
    Invité
    Invité(e)
    Par défaut
    C'est la sortie standard des erreurs. De cette façon, elle est redirigée, en l'occurrence dans un puits sans fond...

  9. #9
    Invité
    Invité(e)
    Par défaut
    Opps, bah on est synchro 2Eurocents !

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

Discussions similaires

  1. Problème avec ifconfig, ping... sous linux
    Par boubouc dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 12/02/2006, 16h15
  2. [langage] Table Dynamique sous PERL ?
    Par Slippers dans le forum Langage
    Réponses: 9
    Dernier message: 09/02/2005, 08h30
  3. Problème réseau sous FedoraCore2
    Par PeGaZe dans le forum Réseau
    Réponses: 6
    Dernier message: 02/10/2004, 10h00
  4. probleme de sous requete
    Par JD_Lyon dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 09/04/2004, 22h18
  5. Ping sous protocole TCP (et non UDP)
    Par ovdz dans le forum Développement
    Réponses: 2
    Dernier message: 19/06/2003, 14h10

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