Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2269 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  Lenteur/blocage suite a l'utilisation de modules CPAN

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lenteur/blocage suite a l'utilisation de modules CPAN

n°1205773
gandalf65
Posté le 23-09-2005 à 10:48:28  profilanswer
 

Bonjour,
 
Je débute en perl, et pour un besoin regulier,j'ai utiliser les modules Net::SSH et Net::SFTP.
 
Mon objectif est de deposer un fichier perl, l'executer sur un serveur distant.Ce dernier fichier crée un fichier texte qui doit être rapatrié sur le serveur  
local. A priori, rien de bien compliqué.
 
Mais il se trouve que ce script reste bloqué, je le lance via Putty.
 
Voici le script :
 
 #! /usr/bin/perl -w
      2
      3 ## Utilisation du module pour se connecter en SSH sur un serveur distance
      4 use Net::SSH qw(ssh);
      5 ## Utilisation du module pour faire du FTP securise via le protocole SFTP
      6 use Net::SFTP;
      7
      8 ## Mise en place du mode de debugage
      9 use strict;
     10 use warnings;
     11
     12 ## Declaration des variables
     13 my $user ="****";
     14 my $host ="*****";
     15 my $file ="serv_appli";
     16 my $cmd ="perl serv_appli";
     17
     18 #Connection SFTP au serveur Host
     19 my %sftp_args = (user =>$user,password =>'*****');
     20 #my %sftp_args = (user =>$user,password =>'******');
     21 my $sftp = Net::SFTP->new($host,%sftp_args) || die "Cannot connect to Host !!! " ;
     22
     23 print "Connected\n";
     24
     25 #Transfert du fichier sur Host
     26 $sftp->put ('/home/scripts/serv_appli', '/root/serv_appli') || die "Cannot File Transfert         !!!";
     27
     28 #Execution du script Perl
     29 $sftp = ssh("$user\@$host", $cmd) || die "ssh: $_!"; ##Bloque ICI A PRIORI !!!!!!!
     30
     31 system ("scp $user\@$host:$host /home/result_test" );
     32
     33 exit 0;
 
Voici le lancement, il reste bloque après l'affchage de connected  :
[*****@ scripts]$ perl connexion
Connected
 
Si je fais un ctrl+C, j'obtiens bien la suite de l'execution du programme :
Killed by signal 2.
hostname                                                                 100% 9016     8.8KB/s   00:00
 
 
 
Merci de votre aide.
Sébastien

mood
Publicité
Posté le 23-09-2005 à 10:48:28  profilanswer
 

n°1206356
couak
Posté le 24-09-2005 à 09:23:13  profilanswer
 

moi je crois que ca bloque à la ligne 31, au moment tu fais un appel système pour faire un scp : la commande doit sûrement te demander le password de manière interactive, et au moment où tu kill le prog (CTRL+C) il flush son tampon (résultat de la commande hostname) et te l'affiche
 
c'est marrant qu'on puisse mettre le password dans Net::SSH, sur search.cpan.org ca a tjs été marqué 'pas possible, utiliser ssh-agent"

n°1208449
gandalf65
Posté le 27-09-2005 à 12:27:37  profilanswer
 

Je ne pense pas car si je rajoute par exemple a la ligne 30 :
ssh("$user\@$host", "rm $file" );  
Je n'ai pas d'effacement du fichier tant que je ne fais pas ctrl+c !!!
j'execute ce script sur des serveurs linux et sur du HP_ux et l'execution sur   HP_ux se deroule jusqu'a la fin sans faire de ctrl+C
 
Une autre idee ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  Lenteur/blocage suite a l'utilisation de modules CPAN

 

Sujets relatifs
blocage du d'un site web cré avec javascript[J2ME] utilisation de bluetooth
Utilisation test[C] Utilisation mpatrol
Utilisation d'une variable en Flash depuis PHPutilisation de ToolTiptext ??
[c++] Blocage d'un fichier .txtModules et programme principal
utilisation d'objetsProbleme d'utilisation de DOM
Plus de sujets relatifs à : Lenteur/blocage suite a l'utilisation de modules CPAN


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR