|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() |
Bonjour,
je suis sur une appli vb6 qui se connecte sur un serveur linux contenant des bases mysql par un tunnel ssh j envoi des commandes au serveur pour zipper les fichiers que je viens de créer. Code :
cd /data/mysql/backup_aes/BasesSQL; for foo in *.sql; do tar -cjf `basename $foo .sql`.tar.gz $foo ; done le probleme c est que le "zippage" prend enormement de temps. mon programme vb continue a enchainer les lignes de commandes sans se soucier de savoir si l archivage est terminé... comment faire pour attendre la fin de l archivage de mes données avant de continuer le programme ?? merci |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : juin 2003 Messages : 81 ![]() |
salut,
comme la plupart (toute?) les commandes, tar doit te renvoyer quelque chose (1,0?), il faut donc que tu attendes le retour de la fonction avant de continuer. comme je ne suis pas sûre je te conseille un man de tar et/ou d'attendre d'autres avis. cordialement, jula. |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() |
comment on recupere la valeur de retour ??
|
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() |
j ai rien vu dans le man...
|
|
|
00
|
|
|
#5 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
tel que ta commande est ecrite elle devrait attendre la fin, depend de la manière donc vb6 gere le lancement de commande "systeme". sinon toute commande unix renvoie un code de resultat qui est dans la variables shell $? (uniquement LA derniere commande) pour la recuperer en vb6 je ne sait pas mais en shell : echo $? et elle s'affiche à l'ecran ou se test dans le shell : if (( $? )) ......
|
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() |
j arrive pas a recuperer le $?
peux tu me donner la syntaxe please... le test se fera du genre if (($?)) = 0 then ... ?? |
|
|
00
|
|
|
#7 | |
|
Membre confirmé
![]() Inscription : avril 2004 Messages : 289 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 | ||||
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
pas tout a fait la syntaxe du if fait que le then est "vue" comme une autre commande donc :
Code :
le problème dans ton cas c'est que tu execute plusieurs commande (boucle for) donc il te faudrai recuperer nom pas 1 mais plusieurs code retour , ce qui me parait pas possible il te faudrez ecrire un shell que tu lance et qui lui traiterai les different cas de figure : Code :
et lancer depuis VB un truc du genre : ou toute autre commande qui te permettrai de recuperer $?, par exemple un : echo $? > fichier_de_retour et lire le contenue du fichier depuis VB |
||||
|
|
00
|
|
|
#9 |
|
Membre à l'essai
![]() |
c est bon j ai trouve mon bonheur...j ai un peu bidouille mais ca marche.
allez voir http://www.developpez.net/forums/vie...4bb974b2f2b40a merci ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com