2016-11-14 4 views
0

Hallo Ich habe eine Situation, wo eine Datei in einem Verzeichnis von inotifywait wie folgt beobachtet: inotifywait -m -r -e delete -e created mydir. Ich weiß, dass ein Prozess eine Datei unter mydir schreiben wird und ich erwarte, dass das von isotify gemeldete Ereignis zur Dateierstellung angezeigt wird. Das Problem besteht darin, dass die Datei als gelöscht gemeldet wird und es zuvor keine Anzeichen für das Erstellungs-Ereignis der gleichen Datei gibt. Natürlich beginne ich das Verzeichnis anzuschauen, bevor ich den Prozess starte, der die Datei erstellt. Ich vermute, dass ein anderer Cleanup-Prozess ist das Löschen der Datei, aber immer noch, wie ist es möglich, dass inotify druckt, dass die Datei gelöscht wurde und nicht zuvor erstellt wurde. Wie kann das möglich sein? Dankeinotifywait berichtet, dass eine zu erstellende Datei gelöscht wird, bevor sie überhaupt erstellt wird

+0

Ich bin nicht bewusst, eine 'inotify'-Befehlszeile. Meinst du [inotifywait] (https://linux.die.net/man/1/inotifywait)? Sind Sie sicher, dass die Datei noch nicht existiert und dass die Ereignisse tatsächlich nicht DELETE gefolgt von CREATE sind? Das heißt, ist es möglich, dass der Prozess zuerst die Datei löscht und dann neu erstellt? – kaylum

+0

Was passiert ist, ist, dass der Prozess, der die Datei erstellt, es in/tmp erstellt und dann in das überwachte Verzeichnis verschiebt. add '-e moved_to' macht Gedanken sinnvoll. – Imaxd

Antwort

0

Was passiert ist, dass der Prozess, der die Datei erstellt, in/tmp erstellt und dann in das überwachte Verzeichnis verschoben wird. Hinzufügen von -e moved_to als Option zu inotifywait macht die Dinge sinnvoll.

Verwandte Themen