Können Sie mir bitte den Inotify-Mechanismus erklären? Ich habe im Internet darüber gesucht, aber was ich verstanden habe, ist, dass, wenn ich die Änderungen in einer Datei sehen möchte, ich mit der "Lese" -Funktion abfragen muss. Gibt es irgendeine Callback-Funktion, die mich benachrichtigt, wenn sich die Datei ohne Abfrage ändert?linux, inotify - wie abonnieren?
Danke,
zur Kenntnis genommen, aber können Sie erarbeiten * warum * wäre es noch schlimmer sein? :) –
@ Frédéric Hamidi Ein Problem mit Signalen ist, dass sie sich nicht sehr gut mit Ausnahmen mischen. Das zweite Problem ist, dass Signalprovider so wenig wie möglich arbeiten und zurückkehren sollten. –
Nur wenn Sie Ausnahmen vom Signalhandler durchlaufen. Und die Tatsache, dass Signalprovider möglichst wenig Arbeit verrichten sollten, bedeutet nicht, dass die Abfrage bevorzugt wird. Beispielsweise könnte Ihr Hauptcode eine Pipe erstellen, den Signalhandler einrichten und dann auf der Pipe auswählen. Der Signal-Handler schreibt ein einzelnes Zeichen in die Pipe und wird dann beendet. Schreiben ist async-signalsicher. Die Steuerung kehrt zu Ihrem Hauptcode zurück und wählt Returns aus. Sie haben einen minimalen Signal-Handler und müssen nicht abfragen. – atomice