Linux Informationen

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

kog

Betreff: Linux Informationen

BeitragSo, März 18, 2007 2:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es irgendein Modul, womit man z.B. die KernelVersion von Linux auslesen kann?
Ich habe das Forum schon durchsucht, doch leider ohne erfolg.
 

Dreamora

BeitragSo, März 18, 2007 4:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich weniger.
Aber da der Linux Kernel C ist kannst du einfach eine entsprechende C File importieren die die Funktionalität hat (das müsste es eigentlich zu hauf geben) und die Funktion extern deklarieren und dann einfach aufrufen Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

rema

BeitragSo, März 18, 2007 7:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein System-Aufruf unter Linux oder anderen Unix'en sollte da aussreichen:

print system_("version")

BtbN

BeitragSo, März 18, 2007 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Den befehl version gibts hier nicht, aber "uname -r" gibts.

kog

BeitragSo, März 18, 2007 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
wie benutze ich dies?
print system_("uname -r")?
gibt es keine Liste vorin steht was system_ alles kann?

BtbN

BeitragSo, März 18, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
System kann alles was die Standard-Shell des Systems kann.

kog

BeitragSo, März 18, 2007 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Das blöde was ich gerade sehe, man kann es nicht in einem String speichern, sondern es wird direkt angezeigt.
 

Dreamora

BeitragSo, März 18, 2007 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
CreateProcess und die Pipe nutzen Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

BtbN

BeitragSo, März 18, 2007 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne frage die mir so nebenbei einfällt: Kann FreeProcess auch was damit anfangen, wenn man ihm nur den app-namen gibt(TProcess.Create("uname -r")), oder will er nen absoluten pfad?
 

Dreamora

BeitragSo, März 18, 2007 20:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ausprobieren.
Vermute Mal da FreeProcess nicht mit Gott verwandt ist, macht es das gleiche wie alle anderen auch: Ruft einfach das auf was du eingibst.
Der Rest hängt dann wohl vom System ab. Wenn das System von dem ausgehend so etwas hat wie Windows mit seinen "Paths", dann sollte es dort suchen und gegebenenfalls starten.

Wenn das System das nicht hat, dann brauchst du den absoluten pfad.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

kog

BeitragSo, März 18, 2007 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Es geht leider auch nicht, uname kann ncht ausgelesen werden, es erscheint nix
 

Dreamora

BeitragSo, März 18, 2007 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
dann nimmste halt system, greps t das ding und liest die Datei aus Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

kog

BeitragSo, März 18, 2007 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie meinst du das?
 

Dreamora

BeitragMo, März 19, 2007 0:08
Antworten mit Zitat
Benutzer-Profile anzeigen
bist du der linux user oder ich? Smile (nein ich bins definitiv net)

kannst natürlich auch einfach direkt pipen.


system_("uname -r > sysinfo")
das müsste eigentlich glaub funktionieren.
Schon ne weile nimmer unter Pingu gearbeitet.

Und grep wäre

system("uname -r | grep xy > sysinfo")
wobei das xy das ist wonach du suchst via reg ex, wenn ich mich recht erinner. *weiss net ob pipe in der verkettung noch geht*
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

kog

BeitragMo, März 19, 2007 0:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja aber wie kann ich die verfluchte Information in ein String verbannen? Sehe in deinem Beispiel gerade nicht ob das geht..
 

Dreamora

BeitragMo, März 19, 2007 0:16
Antworten mit Zitat
Benutzer-Profile anzeigen
das > sysinfo verbannts in eine datei, die kannst du dann auslesen und parsen
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

kog

BeitragMo, März 19, 2007 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke hat funktioniert ^^
Code: [AUSKLAPPEN]
[14:27:04] Connecting to 85.14.218.118:36963
[14:27:04] Sucessfully connected!
------------------------------------------------------------------------------------------
[14:27:04] ] /ping
[14:27:04] Ping: 24 ms
[14:27:08] ] /system
System Information:
Operating System: Linux 2.6.17-cks1-rootserver
Currentdate: 19 Mar 2007
Currenttime: 14:27:10
Total IN: 37 b
Total OUT: 26 b
[14:27:21] ] /ping
[14:27:21] Ping: 27 ms
[14:30:04] Ping: 25 ms
[14:30:04] ] /ping

BtbN

BeitragMo, März 19, 2007 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
SuperStrict

Framework Pub.FreeProcess


Global p:TProcess = TProcess.Create("/usr/bin/uname -r",0)

While p.Status()
   Delay(5)
Wend

Global kernelvers:String

If p.pipe.ReadAvail() Then kernelvers = p.pipe.ReadLine()

p.Close()

WriteStdout(kernelvers+"~n")

End


Bitte sehr, natürlich unter der vorraussetzung, dass es uname gibt und es in /usr/bin liegt.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group