Laden...

Linux Befehle ausführen und inhalt der Konsole einlesen

Letzter Beitrag vor 18 Jahren 6 Posts 2.696 Views
Linux Befehle ausführen und inhalt der Konsole einlesen

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 ?