Handle v5.0

Por Mark Russinovich

Publicado em: 26 de outubro de 2022

DownloadDownload Handle(729 KB)

Introdução

Já se perguntou qual programa tem um arquivo ou diretório específico aberto? Agora você pode descobrir. o Handle é um utilitário que exibe informações sobre identificadores abertos para qualquer processo no sistema. Você pode usá-lo para ver os programas que têm um arquivo aberto ou para ver os tipos de objeto e nomes de todos os identificadores de um programa.

Você também pode obter uma versão baseada em GUI deste programa, Process Explorer, aqui no Sysinternals.

Instalação

Você executa o Handle digitando "identificador". Você deve ter privilégio administrativo para executar o Handle.

Uso

O Handle é direcionado à pesquisa de referências de arquivo aberto, portanto, se você não especificar parâmetros de linha de comando, ele listará os valores de todos os identificadores no sistema que se referem a arquivos abertos e aos nomes dos arquivos. Ele também usa vários parâmetros que modificam esse comportamento.

uso:handle [[-a [-l]] [-v|-vt] [-u] | [-c <handle> [-y]] | [-s]] [-p <process>|<pid>] [name]

Parâmetro Descrição
-a Despejo de informações sobre todos os tipos de identificadores, não apenas aqueles que se referem a arquivos. Outros tipos incluem portas, chaves do Registro, primitivos de sincronização, threads e processos.
-l Mostre apenas os identificadores de seção apoiados em arquivo de página.
-c Fecha o identificador especificado (interpretado como um número hexadecimal). Você deve especificar o processo por seu PID.
AVISO: fechar identificadores pode causar instabilidade do aplicativo ou do sistema.
-g Imprimir acesso concedido.
-y Não solicite confirmação de identificador próximo.
-s Contagem de impressão de cada tipo de identificador aberto.
-u Mostrar o nome de usuário proprietário ao pesquisar identificadores.
-v Saída CSV com delimitador de vírgula.
-vt Saída CSV com delimitador de guia.
-p Em vez de examinar todos os identificadores no sistema, esse parâmetro restringe a verificação do Handle aos processos que começam com o processo de nome. Assim:
handle -p exp
despejaria os arquivos abertos para todos os processos que começam com "exp", o que incluiria o Explorer.
name Esse parâmetro está presente para que você possa direcionar o Handle para pesquisar referências a um objeto com um nome específico.
Por exemplo, se você quisesse saber qual processo (se houver) tem "c:\windows\system32" aberto, você poderia digitar:
identificar windows\system
A correspondência de nome não diferencia maiúsculas de minúsculas e o fragmento especificado pode estar em qualquer lugar nos caminhos nos quais você está interessado.

Saída do Handle

Quando não está no modo de pesquisa (habilitado especificando um fragmento de nome como um parâmetro), o Handle divide sua saída em seções para cada processo para o qual está imprimindo informações do identificador. As linhas tracejadas são usadas como um separador, imediatamente abaixo do qual você verá o nome do processo e sua ID de processo (PID). Abaixo do nome do processo estão listados valores de identificador (em hexadecimal), o tipo de objeto ao qual o identificador está associado e o nome do objeto, se ele tiver um.

Quando no modo de pesquisa, o Handle imprime os nomes de processo e as IDs são listadas no lado esquerdo. Os nomes dos objetos que tinham uma correspondência estão à direita.

Mais informações

Você pode encontrar mais informações sobre o Gerenciador de Objetos no Windows Internals, 4ª Edição ou navegando pelo espaço de nome do Gerenciador de Objetos com WinObj.

DownloadDownload Handle(729 KB)