من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

إذا كنت من مستخدمي نظام التشغيل ويندوز المتحمسين، فلا شك أنك واجهت رسالة الخطأ المزعجة لا يمكن إكمال الإجراء لأن الملف مفتوح في برنامج آخر عند محاولة حذف ملف أو إعادة تسميته.

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

ماذا يعني خطأ الملف قيد الاستخدام في نظام التشغيل ويندوز؟

على الرغم من أن الرسالة تبدو واضحة، إلا أن هناك تفسيرًا تقنيًا أعمق. في كل مرة يفتح فيها برنامجٌ ما ملفًا، يقوم نظام ويندوز بإنشاء ما يُعرف بـ مقبض الملف (File Handle).

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

في الظروف العادية، عند إغلاق تطبيق ما، يُفترض أن يحرر ويندوز هذه المقابض. لكن، وكما لاحظنا جميعًا، فإن إغلاق الواجهة المرئية للتطبيق لا يضمن دائمًا تحرير جميع مقابض الملفات المرتبطة به.

لماذا لا يؤدي إغلاق التطبيق دائمًا إلى تحرير الملف؟

يحدد روسينوفيتش ثلاثة أسباب شائعة وراء بقاء الملف مقفلاً، حتى بعد اعتقادك أنك أغلقت البرنامج الذي كان يستخدمه:

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

كيفية العثور على العملية المسؤولة عن خطأ الملف قيد الاستخدام؟

في التسعينيات، قام روسينوفيتش ببناء أداة سطر الأوامر المسماة Handle، خصيصًا لمعالجة هذه المشكلة التي واجهها شخصيًا. تُعد أداة Handle جزءًا من مجموعة Sysinternals، وهي مجموعة أدوات مساعدة متقدمة لويندوز تحتفظ بها مايكروسوفت حاليًا.

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

مستكشف العمليات (Process Explorer) هو الرفيق الرسومي لأداة Handle، وقد قام روسينوفيتش أيضًا ببنائه. على الرغم من مرور عقود، لا يزال Process Explorer أحد أكثر أدوات التشخيص عملية المتاحة على ويندوز، مما يؤكد مدى عمق هذه المشاكل في نظام التشغيل.

داخل مستكشف العمليات، يمكنك الضغط على تركيبة المفاتيح Ctrl + Shift + F لفتح نافذة البحث عن المقابض أو DLLs (Find Handle or DLL). عند كتابة اسم الملف المقفل، ستظهر لك العملية التي تفتحه. من هناك، يمكنك النقر بزر الماوس الأيمن على العملية وإغلاق المقبض مباشرة، أو إنهاء العملية بأكملها، قبل محاولة الحذف مرة أخرى.

أدوات Sysinternals في PowerToys: الخيار الأسهل للمستخدمين العاديين

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

تتضمن PowerToys بالفعل أداة File Locksmith (صانع الأقفال الملف)، والتي تتيح لك النقر بزر الماوس الأيمن على الملف المطلوب، واختيار فتح باستخدام File Locksmith (Unlock with File Locksmith)، لتظهر لك قائمة فورية بجميع العمليات التي تحتفظ بالملف مفتوحًا. يمكنك عندها إنهاء العملية المتسببة في المشكلة من نفس النافذة، ثم حذف الملف بسهولة دون الحاجة إلى سطر الأوامر.

الحل البديل الذي توصي به مايكروسوفت لإصلاح خطأ الملف قيد الاستخدام

يشارك روسينوفيتش أيضًا حلاً عمليًا بديلاً. إذا لم تتمكن من إنهاء العملية التي تحتفظ بالملف فورًا، يمكنك محاولة إعادة تسمية الملف بدلاً من حذفه. يسمح لك ويندوز بإعادة تسمية الملف حتى عندما يكون مفتوحًا في سياقات معينة.

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

لطالما كانت هذه المشكلة جزءًا لا يتجزأ من نظام التشغيل ويندوز منذ نشأته. والآن، على الأقل، اعترفت مايكروسوفت بها وقدمت شرحًا عمليًا لأسبابها.

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

هل قمت بإعادة تشغيل جهاز الكمبيوتر الخاص بك هذا الأسبوع؟
رحلة في عقول الحشود: دروس ماكاي الخالدة لفهم جنون الأسواق الرقمية

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل