Rsh par C# ?

Salut,

J’ai plusieurs machines UNIX et Linux sur lesquelles tournent un
programme qui peut prendre des jours à se terminer.

J’aimerais développer une petite appli en C# qui aille regarder
sur chaque machine où en est le process en question, depuis
combien de temps il tourne, la charge processeur qu’il utilise, etc…

Je ne peux malheureusement pas utiliser une archi client/serveur pour
faire ça, donc je pensais passer par un rsh (ou ssh, ou telnet)
qui ferait un ps sur chacun
des systèmes.

Est-ce que je dois passer par un System.Process.Start(“rsh
-l host ps”) pour faire ça, ou je peux utiliser un TcpClient pour me connecter
directement au port ssh ?

Dans le premier cas, le résultat du process est affiché
à l’écran, mais comment l’intercepter ?

Dans le deuxième cas, mes tests n’ont pas été
très concluants… quelqu’un aurait-il un exemple à me
fournir ?


Twen

Ce message a été édité par Twen le 23/12/2003

Bon, réponse à moi-même :

Le plus simple je pense est d’utiliser la classe Process en renseignant à true la propriété RedirectStandardOutput de ProcessStartInfo.

Je récupère la sortie du process et je n’ai pas à
me casser la tête à utiliser la communication avec le port
de rsh ou telnet.


Twen

Ce message a été édité par Twen le 23/12/2003