Verwaiste Watch-Deskriptoren von inotify löschen

2188
destan

Nachdem inotify_init()ich einen Dateideskriptor durch Aufruf erstellt habe, füge ich watchder inotify-Instanz Tausende von Es hinzu ( ich hoffe, es ist richtig, dies so zu nennen).

Meine Frage ist, wenn mein Programm abstürzt. Was passiert mit diesen Watch-Deskriptoren? Kann ich sie alle nach dem Absturz löschen? Dies ist wichtig, da die Anzahl der zulässigen Überwachungsdeskriptoren auf begrenzt ist/proc/sys/fs/inotify/max_user_watches

2

1 Antwort auf die Frage

3
grawity

File descriptors, whether they point to files, sockets, or inotify instances, must belong to at least one process – they are automatically closed when the last process exits.

Similarly, when all file descriptors referring to an inotify instance have been closed, the underlying object and its resources are freed for reuse by the kernel; all associated watches are automatically freed. (inotify(7))