2009-09-07 18 views
8

Un programa crea un mutex como parte de su puesta en marcha. No sé el formato de este mutex, así que me pregunto si hay una manera de obtener una lista de todos los mutex no abandonados, abrir el programa, obtener una nueva lista y ver si puedo encontrar el mutex eliminando todas las entradas duplicadas .¿Obtener una lista de mutex?

¿Hay alguna manera de obtener esta lista?

Respuesta

13

Si está en Windows, WinObj puede mostrarle mutexes con nombre. O puede usar Process Explorer para descubrir qué objetos ha abierto un proceso específico.

+0

Y qué hay mutexes sin nombre? – bzupnick

+0

Si un mutex no tiene un nombre, no puede acceder a él (fácilmente) desde otro proceso, por lo que es un punto discutible. –

0

Si tiene WinObj.exe es probable que también tenga handle.exe que también es de SysInternals-Suite.

De vez en cuando me encontré

handle -a |findstr /C:Mutant /C:pid: 

para ser útil. Esto también muestra Mutexes sin nombre.

Por cierto: Si no desea confiar en la compatibilidad del formato de salida (E utiliza la versión v3.51) debe capturar toda la salida de -a mango y la búsqueda manual o utilizar

handle -a -p %YOUR_PID%