سؤال كيف يمكنك العثور على العملية التي تحمل ملف مفتوح في Windows؟


شيء واحد يزعجني لا نهاية عن ويندوز القديم مخالفة مشاركة خطأ. في كثير من الأحيان لا يمكنك تحديد ما الذي يجعله مفتوحًا. عادة ما يكون مجرد محرر أو مستكشف يشير فقط إلى دليل ذي صلة ولكن في بعض الأحيان كنت قد لجأ إلى إعادة تشغيل الجهاز الخاص بي.

أي اقتراحات حول كيفية العثور على الجاني؟


480
2018-05-01 00:47


الأصل


كنت تعتقد أنه بعد كل هذا الوقت ، فإن رجال ويندوز سيعطوننا طريقة للقيام بذلك بسهولة من داخل إكسبلورر. أتساءل لماذا لم يحدث هذا؟ - Cawflands
أجد أن إكسبلورر هو في كثير من الأحيان عملية المشكلة التي تتمسك بملف بدون سبب واضح. - Eddie
أعلم أن هذا لا يساعدك كثيراً ، لكنني أعتقد أنني تذكرت أن هذه كانت ميزة مخططة لإصدار Windows التالي بعد vista وخادم 2008. أو ربما هو شيء في WinFS. لست متأكدا من أين قرأت ذلك ... - Kip


الأجوبة:


لقد كان النجاح مع سسنترنلس  عملية المستكشف. مع هذا ، يمكنك البحث للعثور على عملية (ملفات) العملية مفتوحة ، ويمكنك استخدامها لإغلاق المقبض (المقاسات) إذا أردت. بالطبع ، من الآمن إغلاق العملية برمتها. توخي الحذر والحكم.

للعثور على ملف معين ، استخدم خيار القائمة Find->Find Handle or DLL...  اكتب جزءًا من المسار إلى الملف. سوف تظهر قائمة العمليات أدناه.

إذا كنت تفضل سطر الأوامر ، فإن مجموعة Sysinternals تتضمن أداة سطر الأوامر مقبض، التي تسرد مقابض مفتوحة. بعض الأمثلة على كيفية استخدامها:

  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i e:\ - العثور على جميع الملفات المفتوحة من محرك الأقراص E:
  • c:\Program Files\SysinternalsSuite>handle.exe |findstr /i file-or-path-in-question

418
2018-05-01 01:03



يمكنك إغلاق المقبض ، ولكن ضع في اعتبارك أنك تقوم بسحب البساط من تحت تطبيق ، فإن النتائج ستكون غير متوقعة في أحسن الأحوال. - WaldenL
@ وودن: بالتأكيد. YMMV. مع يندوز إكس بي ، لقد كان في كثير من الأحيان إكسبلورر فتح مقبض دون سبب واضح وترفض إغلاقه. عندما يحدث هذا في ملف تحتاج إلى حذف ، لديك خيار إجبار المقبض المغلق ، أو إعادة التشغيل. حتى الآن ، بعد أن فعلت ذلك عشرات المرات ، لم أعاني من أي تأثير ضار. كما هو الحال مع أي أداة متقدمة ، استخدم بحذر وحكم. - Eddie
يمكن أن يؤدي إغلاق المقابض التطبيق إلى إعادة استخدام المقبض في ملف آخر ، مما يتسبب في حدوث تلف - انظر جواب جيف أدناه: serverfault.com/a/15695/79266 ... أكثر أمانًا لقتل التطبيق الذي يحمل الملف مفتوحًا ، إذا كنت لا تريد إعادة التشغيل. - RichVel
بالنسبة للمستكشف ، راجع btw ، اضغط مع الاستمرار على مفتاح ctrl-shift وانقر بزر الماوس الأيمن على منطقة فارغة من قائمة ابدأ ، وستحصل على "Exit Explorer" - ps ، وليس جواب جيف. - Mark Sowul
لا يساعد الملف غير التنفيذي على سبيل المثال. ملف نصي. أحتاج إلى معرفة من هو الكتابة إلى ملف السجل. اي فكرة؟ - Xaqron


بالنسبة إلى Windows 7 و Windows 8 و Windows 10 ، يمكنك استخدام المضمن مراقب المورد لهذا.

  1. افتح مراقب المورد، والتي يمكن العثور عليها
    • من خلال البحث عن resmon.exe في قائمة البداية ، أو
    • كزر على أداء علامة التبويب الخاصة بك مدير المهام
  2. حدد خانة الاختيار بجانب صورة تتجه على العمليات القسم (العمليات المحددة ستعرض مقابض الملفات الخاصة بها أدناه).
  3. استخدم حقل البحث في المقابض المرتبطة القسم على وحدة المعالجة المركزية التبويب
    • أشار إليها سهم أزرق في لقطة الشاشة أدناه

في حالة عدم الوضوح ، عندما تعثر على المقبض ، يمكنك التعرف على العملية من خلال النظر إلى العمود Image و / أو PID.

يمكنك عندئذ إغلاق التطبيق إذا كنت قادرًا على القيام بذلك ، أو فقط انقر بزر الماوس الأيمن على الصف وستحصل على خيار قتل العملية هناك. سهل جدا!

Resource Monitor screenshot

تم نسخها من إجابتي الأصلية: https://superuser.com/a/643312/62


148
2017-09-10 11:48



تجدر الإشارة إلى أنه قد يكون من الصعب العثور على هذا البرنامج على Windows 8 - يجب البحث عن "resmon.exe" بتحديده. - Kylotan
Kylotan ، وقف هدر الوقت في البحث. فقط ركض resmon  مباشرة من كمد - Pacerier
@ باسيري: نيس. أنا لست معتادًا على وجود أشياء في مسار Windows. - Kylotan
هذا يناسبني أكثر من "التعامل مع | بدائل FindStr و 'Unlocker' ، على الرغم من أنها فعالة أيضًا - Marcus Vinicius Pompeu
لا يزال صالحًا في نظام التشغيل Windows 10 ويمكن العثور عليه باستخدام الزر "فتح مراقبة الموارد" داخل "إدارة المهام" -> علامة التبويب "الأداء". - Norman Breau


جرب ال الملفات المفتوحة أمر.


81
2018-05-01 01:18



+1 لأمر مدمج ، على الرغم من أنني شخصياً استخدم ProcessExplorer لهذا الغرض معظم الوقت. - RBerteig
من المفيد حقا. - marko
خطأ: يجب أن يعمل النظام المستهدف بنظام تشغيل 32 بت. - Bozojoe
لا يعمل ل 64 نظام التشغيل! - Jarrod Roberson
يبدو أن هذا يعمل مع Windows 2012R2 64 بت ، لكنك تحتاج إلى تمكين خدمة "فتح التتبع المحلي" عن طريق التشغيل openfiles /local on وإعادة التشغيل. هذا يجعل هذه الميزة غير مفيدة للغاية. - Guss


فقط كن حذرا جدا مع إغلاق المقابض ؛ إنها أكثر خطورة مما تعتقد ، بسبب إعادة تدوير المقبض - إذا أغلقت مقبض الملف ، ويفتح البرنامج شيئًا آخر ، قد يعاد استخدام هذا الملف الأصلي الذي أغلقه من أجل "شيء آخر". والآن خمن ماذا يحدث إذا استمر البرنامج ، ظنًا أنه يعمل على الملف (الذي أغلقت مقابضه) ، في حين أن مقبض الملف يشير الآن إلى شيء آخر.

نرى ريموند تشن بوست حول هذا الموضوع

لنفترض أن خدمة فهرس البحث بها ملف مفتوح للفهرسة ولكنها بها   تمسكت مؤقتًا وتريد حذف الملف ، لذلك أنت   (غير حكيم) قوة المقبض مغلق. تفتح خدمة فهرس البحث   ملف السجل من أجل تسجيل بعض المعلومات ، والمقبض إلى   يتم حذف الملف المحذوف كمرجع لملف السجل. تمسك   اكتمال العملية أخيرا ، وأخيرا تحصل على خدمة فهرس البحث   حول إغلاق هذا المقبض كان مفتوحًا ، لكنه ينتهي عن غير قصد   إغلاق مقبض ملف السجل.

تفتح خدمة فهرس البحث صفحة أخرى   ملف ، يقول ملف التكوين للكتابة حتى تتمكن من تحديث بعض   حالة مستمرة. يحصل إعادة تدوير مقبض ملف السجل باسم   التعامل مع ملف التكوين. تريد خدمة فهرس البحث   سجل بعض المعلومات ، لذلك يكتب إلى ملف السجل الخاص به. لسوء الحظ، ال   تم إغلاق مقبض ملف السجل وإعادة استخدام المقبض لتكوينه   ملف. تدخل المعلومات المسجلة في ملف التكوين ،   يفسدها.

وفي الوقت نفسه ، تم إعادة استخدام مقبض آخر قمت بإجرائه   كمقابض mutex ، والذي يستخدم للمساعدة في منع البيانات من الوجود   معطوب. عندما يتم إغلاق مقبض الملف الأصلي ، فإن مقبض mutex   مغلق ويتم فقدان الحماية ضد تلف البيانات. ال   لفترة أطول تشغيل الخدمة ، تصبح أكثر فسادًا فهارسها.   في نهاية المطاف ، يلاحظ أحدهم أن الفهرس يعرض نتائج غير صحيحة.   وعند محاولة إعادة تشغيل الخدمة ، فإنه يفشل لأن   تلف ملفات التكوين.

قمت بإبلاغ المشكلة إلى   الشركة التي تجعل خدمة فهرس البحث ويحددون ذلك   لقد تم إتلاف الفهرس ، توقف ملف السجل بشكل غامض   التسجيل ، وتمت الكتابة فوق ملف التكوين مع القمامة. بعض   يتم تعيين فني فقير المهمة ميؤوس منها لمعرفة لماذا   خدمة corrupts الفهارس وملفات التكوين ، غير مدركين أن   مصدر الفساد هو أنك أجبرت على إغلاق مقبض.


77
2018-05-30 17:04



تحذير مهم ، وهذا ينبغي أن يذهب إلى أعلى من أعلى - إعادة تشغيل ربما أفضل من ملف تالف بصمت. - RichVel
+1 هذا بالتأكيد يجعلني أفكر مرتين حول مقابض إجبار مغلقة! يبدو غريباً بالنسبة لي أن Windows سيقوم على الفور بإعادة استخدام عدد المقابض المغلقة ، بدلاً من الاستمرار في زيادة الرقم والتفاف حولها عند الضرورة فقط. من شأن ذلك على الأقل أن يقلل إلى حد كبير من فرص حدوث هذه المشكلة. - EM0
RichVel إنهاء عملية الجاني ربما أفضل من إعادة تشغيل كاملة. - Dmitry Grigoryev
DmitryGrigoryev - نقطة جيدة ، وفي الحقيقة لقد ذكرت ذلك بالفعل هنا - RichVel
هذا تحذير مهم جدا ، لكنه لا يجيب على السؤال كيف يمكنك العثور على العملية التي تحمل ملف مفتوح في Windows؟ - Ploni


لقد استعملت مقبض مع النجاح في العثور على مثل هذه العمليات في الماضي.


27
2018-05-01 00:52



أنا أستخدم هذه الأداة طوال الوقت. إذا لم يكن بإمكاني إخراج محرك أقراص USB ، فما عليك سوى كتابة "مقبض H:" (أو أيًا كان حرف محرك الأقراص). أفضل للجميع ، يمكنك استخدامه لفرض مقابض قريبة. - Chris Thompson


من قفلني يعمل بشكل جيد ويبقي الناس مسليا بالاسم!


7
2018-05-06 00:43



لا يعمل في الإصدارين 8 و 10 من نظام التشغيل Windows 64 بت. - rustyx


فقط للتوضيح ، من المرجح أن يكون ذلك نتيجة لسوء عمل تطبيقات الطرف الثالث التي لا تستخدم إنشاء ملف استدعاء API بشكل صحيح من أي شيء في Windows نفسه. ربما كان ذلك نتيجة لتصميم برنامج CreateFile ، ولكن تم إنجازه ولا يمكننا العودة.

أساسا عند فتح ملف في برنامج ويندوز لديك خيار لتحديد العلم الذي يسمح بالوصول المشترك. إذا لم تقم بتحديد العلامة ، فسيأخذ البرنامج حق الوصول الخاص إلى الملف.

الآن ، إذا كان إكسبلورر هو الجاني هنا ، فقد يكون هذا هو الحال فقط على السطح ، وأن السبب الحقيقي هو الذي يقوم بتثبيت ملحق shell يفتح جميع الملفات في مجلد لأغراضه الخاصة ولكنه أيضًا gung-ho في القيام بذلك ، أو لا ينظف بشكل صحيح بعد نفسه. Symantec AV هو شيء رأيته يقوم بذلك من قبل ، ولن أكون مندهشًا إذا تم تحميل اللوم على برامج AV الأخرى أيضًا. قد تكون المكونات الإضافية للتحكم في المصدر على خطأ أيضًا.

لذلك ، لا توجد إجابة فعلية ، ولكن مجرد نصيحة بعدم إلقاء اللوم دائمًا على Windows لما قد يكون برنامجًا مكتوبًا بشكل جيد من قبل طرف ثالث (وهو أمر يمكن أن يحدث أيضًا على أي نظام تشغيل آخر يحتوي على تأمين ملفات ضمني ، ولكن أي نظام تشغيل قائم على نظام Unix قد شارك الدخول بواسطة الافتراضي).


7
2017-10-12 14:27



لن ألوم أحد تطبيقات الجهات الخارجية على حقيقة أن مستكشف النوافذ الخاص بي يقوم دائمًا بإقفال ملفات Thumbs.db في دليل العمل الخاص به ، ولكنه لا يقوم دائمًا بإلغاء قفله عندما أقوم بتبديل دليل العمل. على الأقل يتم فتحها عندما أغلق النافذة ، ليس لدي لقتل كل المستكشفين ... - Alexander
Darth ، هل أنت مسوق من Microsoft؟ - Pacerier


على خادم بعيد ، عند التحقق من مشاركة عبر شبكة ، يمكن لشيء بسيط مثل وحدة التحكم في إدارة الكمبيوتر عرض هذه المعلومات وإغلاق الملف.


6
2018-05-01 01:01



بالضبط ، لماذا توجد مثل هذه الإجابات المعقدة؟ - Rohit Gupta


Apropos Explorer يحمل ملفًا مفتوحًا: "عندما يحدث ذلك في ملف ، يجب حذفه ، يكون لديك خيار إجبار المقبض على الإغلاق أو إعادة التشغيل."

يمكنك فقط إنهاء مستكشف.

إذا كان هذا شيء لمرة واحدة (لا يقوم المستكشف عادةً بفتح هذا الملف) ، فإنني أعتقد أن تسجيل الخروج وإعادة تسجيل الدخول سيؤدي إلى الخدعة.

وإلا ، قم بقتل عملية مستكشف سطح المكتب وفعل ما تريد أثناء اختفائه. قم أولاً بتشغيل نسخة من cmd.exe (تحتاج إلى واجهة مستخدم للقيام بالتنظيف المقصود الخاص بك). تأكد من عدم وجود مستكشفات غير سطح المكتب قيد التشغيل. ثم قم بقتل مستكشف آخر ، على سبيل المثال ، مدير المهام. افعل ما تريد في موجه الأوامر. وأخيرا ، قم بتشغيل مستكشف من موجه الأوامر ، وسوف يصبح سطح المكتب.

أظن أنه قد يكون هناك بعض البلبلة المتبقية إذا لم تستطع بعض برامج systray التعامل مع إعادة تشغيل shell.


6
2018-06-03 14:01



هذا هو أكثر أمانا من إغلاق المقبض ، وأقل تخريب من إعادة التشغيل. ينطبق أيضًا على البرامج الأخرى - غالبًا ما أجد برنامج Microsoft Office يحتوي على تأمين على الملفات حتى بعد إغلاقها. - RichVel