2009-09-07 144 views
8

程序创建一个互斥锁作为其启动的一部分。我不知道这个互斥体的格式,所以我想知道是否有办法获得所有未被抛弃的互斥体的列表,打开程序,获得一个新的列表,并查看是否可以通过删除所有重复的条目来找到互斥体。获取互斥锁列表?

有没有办法得到这个清单?

回答

13

如果你在Windows上,WinObj可以显示你命名的互斥体。或者,您可以使用Process Explorer找出特定进程已打开的对象。

+0

什么无名的互斥体? – bzupnick 2014-03-12 17:00:07

+0

如果一个互斥体没有名字,你不能从另一个进程(很容易)处理它,所以这是一个有争议的问题。 – 2014-03-13 12:55:04

0

如果您有WinObj.exe,很可能您的handle.exe 也来自SysInternals套件。

偶尔我发现

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

是有帮助的。 这也显示未命名的Mutexes。

BTW: 如果你不想依靠输出格式兼容性(我使用的版本V3.51),你应该抓住手柄-a的整体输出和手动搜索或使用

handle -a -p %YOUR_PID%