2009-09-07 16 views
8

Un programma crea un mutex come parte del suo avvio. Non conosco il formato di questo mutex quindi mi sono chiesto se c'è un modo per ottenere un elenco di tutti i mutex non abbandonati, aprire il programma, ottenere una nuova lista e vedere se riesco a trovare il mutex rimuovendo tutte le voci duplicate .Ottieni un elenco di mutex?

C'è un modo per ottenere questa lista?

risposta

13

Se sei su Windows, WinObj può mostrare mutex con nome. Oppure puoi utilizzare Process Explorer per scoprire quali oggetti è stato aperto da un processo specifico.

+0

E per quanto riguarda mutex senza nome? – bzupnick

+0

Se un mutex non ha un nome, non è possibile ottenerlo (facilmente) da un altro processo, quindi è un punto controverso. –

0

Se si dispone di WinObj.exe è probabile che si disponga anche di handle.exe , anch'esso proveniente da SysInternals-Suite.

Di tanto in tanto ho trovato

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

di essere utile. Visualizza anche i mutex senza nome.

BTW: Se non volete fare affidamento sulla compatibilità formato di output (ho usato la versione v3.51) si dovrebbe catturare l'intera uscita del manico -a e cercare manualmente o utilizzare

handle -a -p %YOUR_PID% 
Problemi correlati