Hi,
ich möchte gerne ein Projekt mit mono Entwickeln.
Wichtig wäre, ist es möglich einen Befehl an die Linuxkonsole zu senden. z.B. top.
Und die Ausgabe in mein Programm zu leiten, so das ich es z.B. parsen kann?
Noch etwas:
Wenn ich im MS VS 2003 eine Konsolenanwendung entwickle, müsste diese doch zu 100% unter Mono funktionieren, oder ? Da ja keine GUI.
Hallo snoopy,
ich denke mal, das Starten eines Befehls sollte unter Linux wie unter Windows gehen, also mit Process.Start.
herbivore
In welchem Namespace ist das denn drin?
UNd wie bekomm ich die Ausgabe der Konsole dann in mein Programm?
Ein Konsolenprogramm, was ich unter Windows programmiere, läuft einwandfrei unter linux per mono. Echt genial 🙂
Hallo snoopy,
In welchem Namespace ist das denn drin?
Bitte schau in die Doku.
UNd wie bekomm ich die Ausgabe der Konsole dann in mein Programm?
ProcessStartInfo.RedirectStandardOutput. Dazu gibt es schon mehrere Threads hier. Oder ebenfalls Doku.
herbivore
Aber den Befehl Top würde ich nicht verwenden. Verwende lieber ps
das kommando ps beendet, wenn es seine Arbeit getan hat.
Namespace:
using System.Disgnostics
(oder schau in der msdn zu Process)
Tip:
Ich bin ein absuloter LinuxGuru, aber: Entwickle dein Programm lieber mich Visual c# Express 2.0 unter Windows. Da tust du dich viel leichter. Du musst nur auf den System.Windows.Forms-Namespace verzichten. Das fertige programm wird dann problemlos mit Mono unter Linux kompilieren.
Wenn du fragen zu Linux und mono hast, schreibe mir ruhig private nachrichten, ich helfe gerne weiter
die Process.Start Methode ist ja schon gar nicht mal so schlecht.
Jetzt ein Problem.: Unter Linux wird das gestartete Programm als Unterprogramm von meinem Programm gestartet. Also sobald ich mein Programm beende, schließt sich auch das Programm. Jedenfalls war es bei "top" der fall. womit man sich ja schön die CPU Auslastung usw anzeigen lassen kann g.
Geht es denn auch, Programme zu starten, so das sie weiterlaufen, auch wenn mein Programm beendet wird ?