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 :

Redémarrage après la purge des PORT TCP


Sujet :

Programmation et administration système Perl

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut Redémarrage après la purge des PORT TCP
    Bonjour,

    Toujours aussi bleu en perl j'essaie de traduire un script en shell qui me permet de redémarrer le démon des qu'un port TCP bien défini est libéré.

    En shell cela donne ceci :
    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
     
    # ærret du démon 
    svcadm disable svc:/application/MGCS:default
    # Verification de la purge des PORT TCP 
    while [  -n "`netstat -an | grep 29041 | grep -v CLOSE_WAIT `" ] 
            do echo -n "."
            sleep 10
            wait
    done 
     
    echo 
    echo
    echo " Redemarrage du demon" 
    echo
    svcadm enable svc:/application//MGCS:default
    En fait ma difficulté est dans la boucle while que j'ai traduis comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/perl
    use warnings;
    use strict;
    use Sys::Hostname;
    use Socket;
     
    my $netstat=`netstat -an | grep 29041 | grep -v CLOSE_WAIT`;
    while ( $netstat = <> ) {
            print ".";
            sleep(10);
            $netstat=`netstat -an | grep 29041 | grep -v CLOSE_WAIT`;
            }
    Je pense que suis passé à côté de quelque chose car la boucle ne se fait pas et le script reste bloqué....

    Merci de votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 299
    Points : 137
    Points
    137
    Par défaut
    C'est bon j'ai trouvé, la fonction length qui m'a permit de contourner le problème pour déterminer la chaîne de caractère vide


    Voici le code qui boucle

    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
    16
    17
    #!/usr/bin/perl
    use warnings;
    use strict;
    use Sys::Hostname;
    use Socket;
     
    print "Stop du démon \n";
     
    my $eval = 1;
    while ( $eval >= 1 ) {
            print ".";
            sleep(10);
            my $netstat=`netstat -an | grep 29041 | grep -v CLOSE_WAIT`;
            $eval = length($netstat);        
    }
     
    print "\nRedémarrage du démon \n";
    Si vous avez des avis constructif n'hésitez pas. Merci

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

Discussions similaires

  1. utilisation des ports en TCP/IP
    Par omekiane dans le forum Développement
    Réponses: 3
    Dernier message: 06/11/2008, 12h56
  2. [GZIP] Compression des trames TCP ?
    Par SteelBox dans le forum Développement
    Réponses: 6
    Dernier message: 11/01/2005, 05h34
  3. Des ports à fermer
    Par localhost dans le forum Réseau
    Réponses: 5
    Dernier message: 24/03/2004, 00h20
  4. Routines de gestion des ports sous Windows XP
    Par wiccanhelios dans le forum Windows
    Réponses: 2
    Dernier message: 14/11/2003, 08h02
  5. limiter l'ouverture des ports internets
    Par Paradam dans le forum Développement
    Réponses: 2
    Dernier message: 16/06/2003, 16h03

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