Handle v3.20
Por Mark Russinovich
Publicado: noviembre 1, 2006
Introducción
¿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.
Instalación
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.
Uso
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.
Resultados de Handle
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.
Información adicional
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.
Herramientas relacionadas
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 |
Artículos de Handle de Microsoft KB
Los siguientes artículos de Microsoft KB hacen referencia a Handle para el diagnóstico o la solución de problemas: