Probleme retour de fin d'execution process.start

pahap Messages postés 2 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 10 octobre 2005 - 9 oct. 2005 à 03:54
pahap Messages postés 2 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 10 octobre 2005 - 10 oct. 2005 à 09:48
Bonjour à Tous,



J'essaye d'excuter une commande sur un serveur linux avec ssh de la façon suivante

System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo("ssh");
psi.Arguments = "arguments";
psi.UseShellExecute = false;
psi.RedirectStandardError = true;
psi.RedirectStandardOutput = true;

System.Diagnostics.Process p = new System.Diagnostics.Process();
System.Diagnostics.Process.Start(psi);
p.WaitForExit();

la commande s'execute normalement sur la machine linux.
Mon probleme est que p.WaitForExit() ne me redonne pas la main
Dans le task manager, je vois en effet que la commande SSH tourne encore alors que la commande s'est terminée sur la machine linux

Je précise que si je lance le ssh via ms-dos ou via Cygwin la commande fonctionne bien sur la machine linux.
Mais cette fois ci la commande SSH se termine après fin d'exécution sur la machine linux.

2 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
9 oct. 2005 à 09:23
Salut,

Tu ne fais pas ton WaitForExit sur le Process lancé.

System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
p.WaitForExit();

Cocoricoooooooo !!!!
coq
MVP Visual C#
0
pahap Messages postés 2 Date d'inscription vendredi 11 mars 2005 Statut Membre Dernière intervention 10 octobre 2005
10 oct. 2005 à 09:48
Merci pour ta réponse,



Idem en mettent en place cette modification, ça ne fonctionne pas.
0
Rejoignez-nous