Muss ich mit Python inotifyx die Überwachung entfernen und den geöffneten System-Dateideskriptor schließen, wenn ich sie bis zum Programmende benötige? Gibt es z.B. mögliche Probleme, wenn ich bei jedem Lauf einen (Dateideskriptor + Watch) anlege und ihn nicht schließe?
Antworten
Zu viele Anzeigen?Es ist immer eine gute Idee, Ressourcen freizugeben (z.B. Speicher freizugeben, Dateideskriptoren zu schließen, waitpid(2) auf Kindprozesse zu setzen, usw.), wenn Sie sie nicht mehr benötigen. Faul zu sein und es dem Betriebssystem zu überlassen, sich darum zu kümmern, wenn man den Prozess beendet, ist ein sicherer Weg, um in der Zukunft Fehler zu verursachen.
Der Kernel speichert Watches als vollständige Pfade, daher ist es besser, die Watch zu schließen, was auch dem VFS unnötige Arbeit abnimmt. Was den Dateideskriptor angeht, so hängt das davon ab, wie viele andere Sie geöffnet haben.
Ähnlich wie bei einem Telefongespräch ist es nett, der anderen Partei mitzuteilen, dass man aufgehört hat zuzuhören, das Auflegen des Telefons ist optional, aber üblich. Wenn Sie es für etwas brauchen, behalten Sie es.