[Gelöst] Inhalt einer Textdatei in "Echtzeit" beobachten

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

[Gelöst] Inhalt einer Textdatei in "Echtzeit" beobachten

Beitrag von buhtz » 26.02.2024 14:03:24

Zu Debug-Zwecken möchte ich den Inhalt einer Datei möglichst zeitnah (im ms-Bereich) überwachen.
Es gibt tatsächlich zwei Prozesse die lesend und schreiben darauf zugreifen. Um das besser zu durchschauen, möchte ich das gerne live beobachten.

EDIT: watch -n 0.1 ist zu langsam. Wenn ich so darüber nachdenke, wäre vielleicht weniger eine live-Beobachtung, sondern mehr eine Art Protokollierung sinnvoller. Mhm... Oder ich haue mal ein paar sleep() Befehle in den Code, um den Prozess auszubremsen.
Zuletzt geändert von buhtz am 26.02.2024 14:36:13, insgesamt 1-mal geändert.
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Inhalt einer Textdatei in "Echtzeit" beobachten

Beitrag von JTH » 26.02.2024 14:19:58

Ohne weitere Details würde ich da einfach an tail -f oder inotifywait denken.

Je nachdem, was du bei Änderungen machen möchtest, kann auch ein eigenes, kleines Programm (inotify benutzend) sinnvoll sein.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
heisenberg
Beiträge: 3567
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Inhalt einer Textdatei in "Echtzeit" beobachten

Beitrag von heisenberg » 26.02.2024 14:28:58

Was ist denn das eigentliche Problem?

Wenn ich lese, dass da zwei Programme auf die gleiche Datei zugreifen, dann frage ich mich spontan, ob die Art und Weise des Schreibens sauber durchgeführt wird.

Konkret

Findet ein Locking statt?
Sind das atomare Writes (d. h. werden Änderungen durch Schreiben einer temporären Datei auf dem gleichen FS und anschließendem Verschieben)?

Ist das nicht der Fall, kann man davon ausgehen, dass es eigentlich schief laufen muss. (z. B. in der Art, dass eine lesende Anwendung regelmäßig unvollständige Daten erhält.)
Zuletzt geändert von heisenberg am 26.02.2024 14:35:15, insgesamt 1-mal geändert.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
TRex
Moderator
Beiträge: 8086
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Inhalt einer Textdatei in "Echtzeit" beobachten

Beitrag von TRex » 26.02.2024 14:33:24

+1 für inotifywait.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Inhalt einer Textdatei in "Echtzeit" beobachten

Beitrag von Meillo » 26.02.2024 14:33:33

buhtz hat geschrieben: ↑ zum Beitrag ↑
26.02.2024 14:03:24
Wenn ich so darüber nachdenke, wäre vielleicht weniger eine live-Beobachtung, sondern mehr eine Art Protokollierung sinnvoller.
Live-Beobachtung in Millisekundengeschwindigkeit waere auch recht herausforderungsvoll fuer Menschen. ;-)

Du koennest in einer Endlosschleife `git commit' auf die Datei machen, dann kannst du danach die Git-Historie als Protokoll nutzen.
Use ed once in a while!

buhtz
Beiträge: 1106
Registriert: 04.12.2015 17:54:49
Kontaktdaten:

Re: Inhalt einer Textdatei in "Echtzeit" beobachten

Beitrag von buhtz » 26.02.2024 14:35:57

JTH hat geschrieben: ↑ zum Beitrag ↑
26.02.2024 14:19:58
einfach an tail -f oder inotifywait denken.
Prima, das geht auch gut.
heisenberg hat geschrieben: ↑ zum Beitrag ↑
26.02.2024 14:28:58
Was ist denn das eigentliche Problem?
Da ist kein (technisches) Problem. Ich versuche nur Anwendungs-Verhalten zu dokumentieren, was die ursprünglichen Entwickler "vergessen" haben.
Meillo hat geschrieben: ↑ zum Beitrag ↑
26.02.2024 14:33:33
Du koennest in einer Endlosschleife `git commit' auf die Datei machen, dann kannst du danach die Git-Historie als Protokoll nutzen.
Wirklich geile Idee! :hail: :THX:
Debian 11 & 12; Desktop-PC, Headless-NAS, Raspberry Pi 4
Teil des Upstream Betreuer Teams von Back In Time (Debianbackintime)

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Inhalt einer Textdatei in "Echtzeit" beobachten

Beitrag von JTH » 26.02.2024 14:48:38

Meillo hat geschrieben: ↑ zum Beitrag ↑
26.02.2024 14:33:33
Du koennest in einer Endlosschleife `git commit' auf die Datei machen, dann kannst du danach die Git-Historie als Protokoll nutzen.
Ha, das klingt gut :lol: :THX:
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten