Probleme retour de fin d'execution process.start

Signaler
Messages postés
2
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
10 octobre 2005
-
Messages postés
2
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
10 octobre 2005
-
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

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
93
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#
Messages postés
2
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
10 octobre 2005

Merci pour ta réponse,



Idem en mettent en place cette modification, ça ne fonctionne pas.