2010-06-10 8 views
8

किसी दिए गए फ़ाइल नाम और म्यूटेक्स नाम का उपयोग कर रहे प्रक्रियाओं के पीआईडी ​​कैसे प्राप्त करें? (# उपयोगकर्ता मोड में नहीं कस्टम कर्नेल ड्राइवर द्वारा, लेकिन सी में।)सीआईडी ​​में दिए गए फ़ाइल नाम का उपयोग कर रहे पीआईडी ​​कैसे प्राप्त करें?

अद्यतन: धन्यवाद डैनियल रेंशाव को मैं a script कि PIDs के साथ सभी हैंडल को सूचीबद्ध करता पाया। (एक नहीं undocumented और unfrozen कार्यों का उपयोग करना।)

उत्तर

1

निम्न दो अतः सवालों के काम का हो सकता है:

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

सारांश: handle.exe का उपयोग करें और उत्पादन को पार्स (यानी नहीं के लिए एक महान समाधान)

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

सारांश: बहिष्कृत या अनियंत्रित कार्यों का उपयोग किए बिना उपयोगकर्ता मोड में संभव नहीं हो सकता है (लेकिन इस प्रश्न में कुछ स्मॉल कोड प्रदान किया गया है)।

+0

शायद मैं गलत हूं, लेकिन 'handle.exe' अच्छी तरह से काम नहीं कर रहा है। मैं एक cmd 'हैंडल सी: \ विंडोज \ System32 \ cmd.exe' से चलने की कोशिश कर रहा था। यह कहता है: 'कोई मिलान करने वाले हैंडल नहीं मिला।' (मैं नवीनतम संस्करण का उपयोग कर रहा हूं।) और यह म्यूटेक्स के लिए भी काम नहीं करता है। हैंडल नाम मुद्रित करने के लिए दूसरी पोस्ट में स्क्रिप्ट कैसे बनाएं? –