2011-01-16 13 views
7

Używam programów FSEvent do monitorowania katalogu plików, które będą miały skopiowane duże pliki. Obecnie program FSEvents wysyła powiadomienie po rozpoczęciu kopiowania pliku i ponownie po zakończeniu kopiowania pliku. Kiedy jest to mniejszy plik, otrzymuję tylko jedno wydarzenie. Czy istnieje sposób sprawdzenia, czy plik znajduje się w środku kopiowania?FSEvents i kopiowanie dużych plików

To jest dla Snow Leopard przy okazji.

+0

To pytanie odnosi się do innego pytania: http://stackoverflow.com/questions/9139445/how-to-determine-if-a-file-copy-is-completed-using-cocoa/40957388#40957388 –

Odpowiedz

3

Skończyłem właśnie przy użyciu lsof, aby sprawdzić, czy plik jest otwarty na poziomie jądra. Rozpoczynam przetwarzanie pliku dopiero, gdy lsof ustali, że plik nie jest już używany.

+1

to wydaje się nie działać w aplikacji piaskownicy ... lsof: nie można uzyskać liczby bajtów PID: Operacja niedozwolona –