سؤال

لدي اختبار وحدة يعمل بشكل جيد محليًا ولكن عند التحميل إلى خادم إنشاء TeamCity يفشل مع ظهور "لا يمكن للعملية الوصول إلى الملف لأنه قيد الاستخدام بواسطة عملية أخرى."

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

لذلك لدي بعض الاستفسارات

  1. هل واجه أي شخص مشكلات مماثلة وتمكن من الالتفاف عليها
  2. كيف يمكن اكتشاف البرمجيات ما هي العملية التي أغلقت الملف بأنانية !!!

هتافات

هل كانت مفيدة؟

المحلول

سيسينتيرنالس FileMon يحتوي على بعض المعلومات (قم بالتمرير لأسفل) حول كيفية إنجاز ذلك في إصدارات Windows الأقدم.

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

-آدم

نصائح أخرى

سيسينتيرنالس Handle.exe هي الخطوة الأولى.او استعمل عملية المستكشفFind Handle or DLL.إنه دائمًا أكثر أمانًا قتل العملية من إغلاق المقبض، بالرغم من ذلك.

برمجيًا، يتعلق الأمر بكتابة برنامج تشغيل kernel يقرأ جدول مقبض Windows.

ProcessMon (للإيجاد) و أونلوكر (على الأقل لفتح القفل) مفيدة أيضًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top