¿Se ha preguntado alguna vez qué programa mantiene abierto un archivo o directorio en particular? Ahora lo puede averiguar. Handle es una utilidad que muestra información acerca de identificadores abiertos para cualquier proceso del sistema. Puede usarla para consultar los programas que tienen un archivo abierto o para ver los tipos de objeto y los nombres de todos los identificadores de un programa.
También puede obtener una versión de este programa basada en GUI, Process Explorer, en Sysinternals.
Handle se ejecuta escribiendo "handle". Debe tener privilegios administrativos para ejecutar Handle.
Handle funciona en Windows 9x/Me y Windows NT y versiones posteriores, así como en las ediciones de 64 bits de Windows XP y Windows Server 2003.
Handle se ha diseñado para buscar referencias de archivos abiertos, de modo que si no especifica ningún parámetro de línea de comandos, mostrará una lista con los valores de todos los identificadores del sistema que hacen referencia a archivos abiertos y los nombres de los archivos. También toma varios parámetros que modifican este comportamiento.
uso: handle [[-a] [-u] | [-c <handle> [-y]] | [-s]] [-p <nombre de proceso>|<pid>> [nombre]
-a
Vuelca información sobre todos los tipos de identificadores, no sólo los que se refieren a archivos. Otros tipos incluyen puertos, claves del Registro, primitivas de sincronización, subprocesos y procesos.
-c
Cierra el identificador especificado (interpretado como número hexadecimal). Debe especificar el proceso mediante su PID.
ADVERTENCIA: el cierre de identificadores puede producir inestabilidad de las aplicaciones o el sistema.
-y
No pide confirmación de cierre de identificador.
-s
Imprime un recuento de cada tipo de identificador abierto.
-u
Muestra el nombre del propietario al buscar identificadores.
-p
En vez de examinar todos los identificadores del sistema, este parámetro limita el examen de Handle a los procesos que comienzan con el nombre de proceso. De este modo:
handle -p exp
volcará los archivos abiertos de todos los procesos que comiencen por "exp", entre los que se incluye el Explorador.
nombre
Este parámetro está presente para que pueda indicar a Handle que busque referencias a un objeto con un nombre concreto. Por ejemplo, si deseara saber qué proceso (si lo hay) tiene abierto "c:\windows\system32", podría escribir:
handle windows\system
La coincidencia de nombres no distingue entre mayúsculas y minúsculas, y el fragmento especificado puede estar en cualquier parte de las rutas de acceso que sean de su interés.
Cuando no está en modo de búsqueda (habilitado si se especifica un fragmento de nombre como parámetro), Handle divide sus resultados en secciones para cada proceso para el que imprime información de identificadores. Las líneas de guiones se usan como separador y, justo debajo, verá el nombre del proceso y su Id. de proceso (PID). Debajo del nombre de proceso, se muestran los valores de identificador (en cifras hexadecimales), el tipo de objeto al que está asociado el identificador y el nombre del objeto, si tiene uno.
Cuando está en modo de búsqueda, Handle imprime los nombres de proceso y los Id. se muestran en una lista en el lado izquierdo; los nombres de los objetos con coincidencia aparecen a la derecha.
Puede encontrar más información sobre el Administrador de objetos en Windows Internals, 4th Edition o examinando el espacio de nombres del Administrador de objetos con WinObj.
Aquí tiene otras herramientas de supervisión disponibles en Sysinternals:
| • | Process Explorer: DLL basada en GUI y visor de identificadores para Win9x/Me y NT/Win2K |
| • | ListDLLs: visor de DLL de línea de comandos para Win9x/Me y NT/Win2K |
Los siguientes artículos de Microsoft KB hacen referencia a Handle para el diagnóstico o la solución de problemas:
| • | 245068: Mensaje de error: Acceso denegado. No tiene permisos o el archivo está en uso |
| • | 276525: Su equipo puede dejar de responder al supervisar identificadores abiertos |