程序創建一個互斥鎖作爲其啓動的一部分。我不知道這個互斥體的格式,所以我想知道是否有辦法獲得所有未被拋棄的互斥體的列表,打開程序,獲得一個新的列表,並查看是否可以通過刪除所有重複的條目來找到互斥體。獲取互斥鎖列表?
有沒有辦法得到這個清單?
程序創建一個互斥鎖作爲其啓動的一部分。我不知道這個互斥體的格式,所以我想知道是否有辦法獲得所有未被拋棄的互斥體的列表,打開程序,獲得一個新的列表,並查看是否可以通過刪除所有重複的條目來找到互斥體。獲取互斥鎖列表?
有沒有辦法得到這個清單?
如果你在Windows上,WinObj可以顯示你命名的互斥體。或者,您可以使用Process Explorer找出特定進程已打開的對象。
如果您有WinObj.exe,很可能您的handle.exe 也來自SysInternals套件。
偶爾我發現
handle -a |findstr /C:Mutant /C:pid:
是有幫助的。 這也顯示未命名的Mutexes。
BTW: 如果你不想依靠輸出格式兼容性(我使用的版本V3.51),你應該抓住手柄-a的整體輸出和手動搜索或使用
handle -a -p %YOUR_PID%
約
什麼無名的互斥體? – bzupnick 2014-03-12 17:00:07
如果一個互斥體沒有名字,你不能從另一個進程(很容易)處理它,所以這是一個有爭議的問題。 – 2014-03-13 12:55:04