Archiv verlassen und diese Seite im Standarddesign anzeigen : Datenströme eines bestimmten Prozesses
Hi!
ich will eine Art Logprogramm schreiben, dies soll alle Dateien, die geändert, erstellt oder gelöscht werden registrieren. Deshalb meine Frage an euch, kann man alle Datenströme eines Prozesses und dessen Unterprozesse aufzeichnen und eventuell sogar Puffern?
Bin für jeden Tipp dankbar.
CU Till
wie willst du denn die datenströme puffern ???mit datenströmen meinst du stdout,stdin und stderr oder???
und wie willst du die dateien registrieren,die gelöscht wurden???du beziehst dich wohl auf filedeskriptoren,oder??? biite eine genauere erklärung...
Hi!
nein, ich meine mit Datenströmen Zugriffe auf Dateien, ich will letztendlich alle Zugriffe auf Dateien die die Kindprozesse tätigen mitlogen. Damit ich genau weiß, welche Dateien durch die Prozesse angelegt wurden.
Genauer kann ich es z.Zt. leider nicht ohne Fragen beschreiben, da ich mich bei der LinuxSystemprogrammierung leider noch nicht so gut auskenne.
CU Till
die kindprozesse erben die filedeskriptoren vom elternprozess...wie du checken kannst , welche filedeskriptoren geöffnet sind hab ich leider vergessen.ich hab mich vor einiger zeit mit der systemprogrammierung beschäftigt aber du weißt schon:ohne praxis vergißt man schnell.haste überhaupt n buch über die systemprogrammierung???es würde dir viel helfen.
Hi!
das bedeutet, das es kein Problem ist, die Dateien, die die Kinprozesse schreiben zu logen, wenn ich dich richtig verstehe oder?
Nein , ein Buch zur Systemprogrammierung hab ich leider nicht.
Da sollte es ja reichen, wenn man ein wenig rumprobiert mit Kindprozessen und fds.
CU Till
alterkaempfer
13-10-2003, 08:07
Morgen
Vielleicht hilft dir dieser Link weiter
http://www.pronix.de/C/Linuxprogrammierung/index.shtml
mfg
alterkaempfer
Original geschrieben von Hotnine
Hi!
das bedeutet, das es kein Problem ist, die Dateien, die die Kinprozesse schreiben zu logen, wenn ich dich richtig verstehe oder?
genau ...du kannst die fds von den den kindprozessen auch mitlogen.
Danke erstmal für den Link.
Könntet ihr mich eventuell auf den richtigen Weg lenken, ich weiß nämlich leider nicht wie ich das anstellen soll. Mir ist leider bis jetzt der Umgang mit Prozessen und fd's noch weitgehend fremd.
CU Till
Ich nochmal :)
Ich bin mittlerweile soweit, dass ich weiß, dass die FD's eines jeden Prozesses unter /prod/$PID/fd gelistet sind. Mein Problem ist aber jetzt, dass die FD's so schnell wieder weg sind, dass ich sie garnicht auswerten kann :(
Hätte einer ne Idee wie ich das anstellen kann?
CU Till
ich arbeite daran ein ähnliches programm zu schreiben wie lsof...aber das wird noch dauern ...es ist nämlich sehr kompliziert mit der prozesstabelle und allem anderen...
Hi!
Ich hatte auch schon die Idee über die Prozesstabelle an die FD's zu gelangen, jedoch weiß ich absolust nicht wie ich das anstellen soll. Habe schon im Netz gesucht, aber dazu findet man fast nichts.
Das Teil heißt ja "process open file table" aber darunter findet man leider absolut nichts spezifisches. Falls du einen Tipp hast, wie man weiter kommen könnte würde ich mich freuen. Ansonsten wäre es nett, wenn du mir bescheit sagen könntest, wenn du das Proggi fertig hast.
CU Till
es wird noch dauern denn ich bin noch schüler :) und ich muss auch was lernen...
aber wie gesagt lsof(list_all_open_files) ist ,glaub ich, auf jeden bei jeder distri dabei ...schau einfach nach...es ist wirklich ein gutes tool
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.