2011-01-16 18 views
7

Estoy usando FSEvents para supervisar un directorio de archivos que tendrán algunos archivos grandes copiados en él. Actualmente FSEvents parece estar enviando una notificación cuando comencé a copiar el archivo, y nuevamente cuando termina de copiar el archivo. Sin embargo, cuando es un archivo más pequeño, solo obtengo el único evento. ¿Hay alguna manera de verificar si un archivo está en el medio de ser copiado?FSEvents y copia de archivos de gran tamaño

Esto es para Snow Leopard por cierto.

+0

Esta pregunta se relaciona con otra pregunta: ¿ http://stackoverflow.com/questions/9139445/how-to-determine-if-a-file-copy-is-completed-using-cocoa/40957388#40957388 –

Respuesta

3

Terminé simplemente usando lsof para comprobar si el archivo está abierto a nivel de kernel. Solo comienzo a procesar el archivo una vez que lsof ha determinado que el archivo ya no está en uso.

+1

este parece no funcionar en una aplicación de espacio aislado ... 'lsof: no se puede obtener el conteo de bytes PID: operación no permitida' –

Cuestiones relacionadas