2010-06-10 7 views
8

¿Cómo obtener los PID de los procesos que usan un nombre de archivo y un nombre mutex dados? (no por el conductor de núcleo a medida, pero en C# en el modo de usuario.)¿Cómo obtener los PID que usan el nombre de archivo dado en C#?

ACTUALIZACIÓN: Gracias a Daniel Renshaw me encontré a script que enumera todos los mangos con los PID. (Usando un funciones no indocumentados y no congeladas.)

Respuesta

1

los siguientes dos SO preguntas pueden ser de uso:

How do I find out which process is locking a file using .NET?

Resumen: utilizar handle.exe y analizar la salida (es decir, no una gran solución)

Win32: How to get the process/thread that owns a mutex?

Resumen: puede que no sea posible en el modo de usuario sin utilizar las funciones obsoletas o no documentadas (pero se proporciona un código de smaple en esta pregunta).

+0

Tal vez estoy equivocado, pero 'handle.exe' no parece funcionar bien. Estaba intentando ejecutar desde un cmd 'manejar C: \ Windows \ System32 \ cmd.exe'. Dice: 'No se encontraron identificadores correspondientes. (Estoy usando la última versión.) Y tampoco parece funcionar para mutexes. ¿Cómo hacer que el script en la segunda publicación imprima los nombres de los identificadores? –

Cuestiones relacionadas