2011-01-16 21 views
7

Ich verwende FSEvents, um ein Verzeichnis von Dateien zu überwachen, in die große Dateien kopiert werden. Derzeit scheint FSEvents eine Benachrichtigung zu senden, wenn ich mit dem Kopieren der Datei begonnen habe, und wenn die Datei fertig kopiert wurde. Wenn es eine kleinere Datei ist, bekomme ich nur das eine Ereignis. Gibt es eine Möglichkeit zu überprüfen, ob eine Datei gerade kopiert wird?FSEvents und Kopieren großer Dateien

Dies ist übrigens für Snow Leopard.

+0

Diese Frage bezieht sich auf eine andere Frage: http://stackoverflow.com/questions/9139445/how-to-determine-if-a-file-copy-is-completed-using-cocoa/40957388#40957388 –

Antwort

3

Ich endete nur mit lsof zu überprüfen, ob die Datei auf Kernel-Ebene geöffnet ist. Ich beginne erst mit der Verarbeitung der Datei, sobald lsof festgestellt hat, dass die Datei nicht mehr verwendet wird.

+1

diese scheint nicht in einer Sandbox-Anwendung zu funktionieren ... 'lsof: PID-Byte-Anzahl kann nicht abgerufen werden: Operation nicht erlaubt' –

Verwandte Themen