645 votos

¿Cómo encontrar lo que el proceso es la celebración de un archivo abierto en Windows?

Una cosa que me molesta sin fin acerca de Windows es el viejo infracción de uso compartido de error. A menudo no se puede identificar que es lo que la mantiene abierta. Por lo general, es sólo un editor o el explorador sólo apunta a un directorio relevante, pero a veces he tenido que recurrir a reiniciar mi máquina.

Cualquier sugerencia sobre cómo encontrar al culpable?

521voto

Eddie Puntos 6779

He tenido éxito con Sysinternals Process Explorer. Con esto, usted puede buscar para encontrar qué proceso(s) tiene un archivo abierto, y se puede utilizar para cerrar el asa(s) si lo desea. Por supuesto, es más seguro para cerrar todo el proceso. Extreme la precaución y el juicio.

Para buscar un archivo específico, utilice la opción de menú Find->Find Handle or DLL... de Tipo en la parte de la ruta de acceso al archivo. La lista de procesos aparecerá a continuación.

Si usted prefiere la línea de comandos, Sysinternals suite incluye Manija, que enumera los identificadores abiertos. Un par de ejemplos de cómo utilizarlo:

  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\ - encontrar todos los archivos que se abre desde la unidad E:
  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i archivo-o-pathi-en-pregunta

106voto

Mark Sowul Puntos 1002

Sólo ten cuidado con el cierre de las manijas; es incluso más peligrosa de lo que se podría pensar, porque de manejar reciclaje - si usted cierra el identificador de archivo, y el programa se abre algo más, que el archivo original mango cerró puede ser reutilizado para que "algo más". Y ahora supongo que lo que sucede si el programa sigue, pensando que está trabajando en el archivo (con el mango cerró), cuando en el hecho de que el identificador de archivo es ahora apunta a algo más.

véase Raymond Chen post sobre este tema

Supongamos que un índice de búsqueda de servicio tiene un archivo abierto para la indexación, pero tiene quedado atascado temporalmente y desea eliminar el archivo, por lo que (imprudentemente) fuerza el asa cerrada. El índice de búsqueda de servicios abre sus archivo de registro con el fin de registrar alguna información, y el identificador de la archivo borrado es reciclado como el identificador para el archivo de registro. La atascado la operación finalmente se completa, y el índice de búsqueda de servicio, finalmente, se alrededor del cierre que manejan la había abierto, pero termina sin darse cuenta cierre el archivo de registro de la manija.

El índice de búsqueda de servicio se abre otra archivo, por ejemplo un archivo de configuración para escribir por lo que puede actualizar algunos el estado persistente. El identificador para el archivo de registro recicladas como el manejar el archivo de configuración. El índice de búsqueda de servicio quiere registro de cierta información, por lo que escribe en su archivo de registro. Por desgracia, el registro de identificador de archivo se ha cerrado y el mango reutilizados para su configuración archivo. La información registrada entra en el archivo de configuración, corromperla.

Mientras tanto, otro identificador que cierran fue reutilizado como un mutex de manejar, que se utiliza para evitar que los datos se dañado. Cuando el archivo original de la manija está cerrado, la exclusión mutua de la manija es cerrado y las protecciones contra la corrupción de los datos se pierden. El no funciona el servicio, el más dañado en sus índices convertido. Eventualmente, alguien nota que el índice es devolver resultados incorrectos. Y cuando intenta reiniciar el servicio, se produce un error debido a que su los archivos de configuración han sido dañados.

Informe del problema para el la empresa que hace el índice de búsqueda de servicio y determinar que el índice ha sido dañado, el archivo de registro tiene misteriosamente dejó de el registro y el archivo de configuración se sobrescribe con la basura. Algunos buenos técnico se le asigna la tarea imposible de averiguar por qué el servicio corrompe sus índices y archivos de configuración, sin saber que el fuente de la corrupción es que se obligó a un asa cerrada.

99voto

John Fouhy Puntos 759

Pruebe el openfiles comando.

77voto

Sam Saffron Puntos 1304

unlocker es también útil para este (funciona en versiones de 32 y 64 bits)

29voto

graham.reeds Puntos 9363

He usado Manejar con éxito para encontrar tales procesos en el pasado.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X