কম্পিউটার টিউটোরিয়াল

যেকোনো প্রসেস বা SYSTEM দ্বারা লক করা ফাইল আনলক করার পদ্ধতি

উইন্ডোজে ফাইল ডিলিট, রিনেম বা মুভ করার চেষ্টা করলে কখনও কখনও দেখা যায় যে ফাইলটি বيزি/লকড/অন্য প্রসেস দ্বারা ব্যবহৃত হচ্ছে। সাধারণত ফাইল খোলা রাখা প্রোগ্রামের নাম File Explorer মেসেজ উইন্ডোতে দেখানো হয়। ফাইল আনলক করতে প্রোগ্রামটি বন্ধ করলেই চলে। তবে কখনও কখনও অজানা বা সিস্টেম প্রসেস দ্বারা ফাইল বা লাইব্রেরি ব্যবহৃত হয়। তখন এটি আনলক করা কঠিন হয়।

অনেক অ্যাপ ফাইল এক্সক্লूसিভ মোডে খোলে। একই সময়, ফাইল সিস্টেম দ্বারা ফাইলটি লক থাকে অন্য অ্যাপ এবং প্রসেস থেকে ইনপুট-আউটপুট অপারেশন বাধা দিয়ে। অ্যাপ বন্ধ করলে ফাইল লক রিলিজ হয়।

ফাইল লক মেসেজ ভিন্ন হতে পারে। উদাহরণস্বরূপ, নিচের স্ক্রিনশটে ফাইল টাইপ এবং সংশ্লিষ্ট অ্যাপ দেখানো হয়েছে:

File/Folder in Use. The action can’t be completed because the file is open in another program. Close the folder or file and try again.

তখন আপনি সহজে বুঝতে পারেন কোন অ্যাপ ফাইলটি লক করেছে এবং তা বন্ধ করতে পারেন।

তবে, কখনও কখনও আরও আকর্ষণীয় মেসেজ দেখা যায় যে ফাইলটি অজানা বা উইন্ডোজ সিস্টেম প্রসেস দ্বারা ব্যবহৃত হচ্ছে। এটি হতে পারে উইন্ডোজ প্রসেস বা অন্য প্রসেস যেগুলো System প্রিভিলেজে কাজ করে, যেমন অ্যান্টিভাইরাস অ্যাপ, ব্যাকআপ এজেন্ট, MSSQL ডেটাবেস, ইত্যাদি:

The action can’t be completed because the file is open in SYSTEM. Close the file and try again.

চলুন খুঁজে বের করি কী প্রোগ্রাম, সার্ভিস বা উইন্ডোজ সিস্টেম প্রসেস ফাইলটি ব্যবহার করছে, কীভাবে ফাইল আনলক করা যায় এবং প্যারেন্ট প্রসেস বন্ধ না করে কীভাবে এটি রিলিজ করা যায়।

যদি আপনি শেয়ার্ড নেটওয়ার্ক ফোল্ডারে একটি ফোল্ডার ডিলিট করতে না পারেন, তবে সমস্যাটি সম্ভবত thumbs.db (ফোল্ডারের ফাইল থাম্বনেইল ক্যাশ) বা ফাইলটি আপনার SMB ফাইল সার্ভারে অন্য কোনো ইউজার দ্বারা খোলা (লক) থাকার কারণে।

ফাইল আনলক করার সবচেয়ে সহজ উপায় হলো এটি লক করা প্রসেস বন্ধ করা। কিন্তু এটি সবসময় সম্ভব নয়, বিশেষ করে সার্ভারগুলোর ক্ষেত্রে।

ফাইল লক করা প্রসেস খুঁজে বের করার জন্য সাধারণত Unlocker টুল ব্যবহার করার পরামর্শ দেওয়া হয়। আমি Unlocker ব্যবহার করি না কারণ এটি প্রসেস বা প্রসেস চেইন সম্পর্কে বিস্তারিত তথ্য দেয় না। নেই ফাইল আনলক করতে পারেন - আপনাকে পুরো অ্যাপ কিল করতে হয়।

এছাড়া, এটি একটি থার্ড-পার্টি টুল, এবং ইনস্টল করার সময় খুব সতর্ক থাকতে হয়, কারণ এটি আপনার দরকার নয় এমন প্রোগ্রামের একটি পুরো বান্ডেল ইনস্টল করার সাজেশন দেয়।

যখন উইন্ডোজে একটি প্রসেস ফাইল খোলে, ইনপুট/আউটপুট স্ট্রিমের জন্য একটি ফাইল ডেসক্রিপ্টর (হ্যান্ডেল) অ্যাসাইন করা হয়। প্রসেস এবং এর চাইল্ড প্রসেসগুলো হ্যান্ডেল ব্যবহার করে ফাইল এক্সেস করে। উইন্ডোজ API ব্যবহার করে আপনি আপনার ফাইল সিস্টেমকে সিগন্যাল পাঠাতে পারেন ফাইল হ্যান্ডেল ফ্রি করে ফাইল আনলক করতে।

যদি আপনি ফোর্সডলি ফাইল হ্যান্ডেল বন্ধ করেন, তবে আপনার অ্যাপ বা কম্পিউটারের অস্থির কাজ হতে পারে। আপনি যদি নিশ্চিত না হন যে অ্যাপের ফাইল হ্যান্ডেল বন্ধ করার পর কী হবে, তবে প্রোডাকশন সার্ভারে এটি না করুন যদি না আগে টেস্ট করে নেওয়া হয়।

Process Explorer ব্যবহার করে ফাইল আনলক করা

ProcessExplorer Sysinternals কিটের একটি ফ্রি টুল যা মাইক্রোসফট ওয়েবসাইট থেকে ডাউনলোড করা যায় (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer)। চলুন একটি প্রসেস খুঁজে বের করি যেটি ফাইলটি লক করেছে এবং প্রসেসের ফাইল হ্যান্ডেল রিসেট করে ফাইলটি ফ্রি করি।

  1. ProcessExplorer ইনস্টল করার দরকার নেই: শুধু ডাউনলোড, এক্সট্র্যাক্ট এবং procexp.exe অ্যাডমিনিস্ট্রেটর হিসেবে চালান;
  2. Find → Find Handle or DLL সিলেক্ট করুন (অথবা Ctrl-F চাপুন);
  3. আপনি যে ফাইলটি আনলক করতে চান তার নাম স্পেসিফাই করুন এবং Search ক্লিক করুন;
  4. ফাইলটি সিলেক্ট করুন। প্রসেস ট্রিতে ফাইল খোলা প্রসেসটি হাইলাইট হবে। রাইট-ক্লিক করে Kill Process Tree সিলেক্ট করুন প্রসেস বন্ধ করতে। তবে, আপনি প্রসেস বন্ধ না করে ফাইল হ্যান্ডেল বন্ধ করার চেষ্টা করতে পারেন। আপনি যে ফাইল হ্যান্ডেলটি খুঁজছিলেন তা প্রসেস এক্সপ্লোরার বটম প্যানেলে অটোমেটিক্যালি হাইলাইট হবে। হ্যান্ডেলে রাইট-ক্লিক করে Close handle সিলেক্ট করুন। ফাইল বন্ধ করার কনফার্মেশন দিন।

যদি আপনার Process Explorer-এ বটম প্যানেলে ওপেন প্রসেস হ্যান্ডেলের লিস্ট দেখানো না হয়, তবে View → Lower Pane View → Handles অপশন ইনএবল করুন।

সুতরাং আপনি প্যারেন্ট প্রসেস বন্ধ না করে ফাইল হ্যান্ডেল বন্ধ করেছেন। তারপর আপনি ফাইলটি মুছে ফেলতে বা রিনেম করতে পারবেন।

Handle টুল ব্যবহার করে ফাইল হ্যান্ডেল রিলিজ করা

Handle Sysinternals-এর আরেকটি কমান্ড লাইন টুল (মাইক্রোসফট ওয়েবসাইট থেকে ডাউনলোড: https://docs.microsoft.com/en-us/sysinternals/downloads/handle)। এটি ফাইল লক করা প্রসেস খুঁজে বের করে এবং হ্যান্ডেল ফ্রি করে লক রিলিজ করতে দেয়।

  1. Handle আর্কাইভ ডাউনলোড ও এক্সট্র্যাক্ট করুন;
  2. অ্যাডমিনিস্ট্রেটর হিসেবে কমান্ড প্রম্পট খুলে নিচের কমান্ড চালান: handle64.exe > listproc.txt
  3. এই কমান্ড ওপেন হ্যান্ডেলের লিস্ট টেক্সট ফাইলে সেভ করবে। আপনি যে ফাইলটি পরিবর্তন করতে চান সেটির ডিরেক্টরির হ্যান্ডেল দেখাতে পারেন: Handle64.exe -a “C:\Program Files\App” বা নির্দিষ্ট প্রসেসের জন্য: handle64.exe -p excel.exe
  4. listproc.txt যেকোনো টেক্সট এডিটরে খুলুন এবং লক করা ফাইলের নাম থাকা লাইন খুঁজুন। ফাইল হ্যান্ডেল ID (হেক্স ফরম্যাটে) কপি করুন। তারপর সেকশনে যান যেখানে হ্যান্ডেলের মালিক প্রসেসটি দেখানো হয়েছে এবং এর ID নোট করুন। সিস্টেম প্রসেস হিসাবে চালানো প্রসেসের PID ৪ হওয়া সম্ভব।
    কিছু উইন্ডোজ সিস্টেম প্রসেসের জন্য handle.exe নিচের মেসেজ রিটার্ন করে: wininit.exe pid: 732 \<unable to open process>। এর মানে আপনি এই সিস্টেম প্রসেসগুলোর কোনো তথ্য পাবেন না (অ্যাডমিনিস্ট্রেটর হলোশ)。 এমন প্রসেসের ওপেন ফাইল হ্যান্ডেল পেতে, cmd.exe System হিসেবে চালান এবং আবার হ্যান্ডেল লিস্ট পেতে চেষ্টা করুন।
  5. তারপর কমান্ড প্রম্পটে ফিরে হ্যান্ডেল আইডি এবং প্রসেস আইডি দিয়ে ফাইল হ্যান্ডেল রিসেট করুন। কমান্ড ফরম্যাট: handl64e.exe -c HandleID -p ProcessID উদাহরণ: handl64e.exe -c 18C -p 18800
  6. টুলটি প্রসেসের জন্য ফাইল বন্ধ করার কনফার্মেশন চাইবে। y → enter চাপে কনফার্ম করুন।

যদি সিস্টেম ফাইল বন্ধ করার প্রতিক্রিয়া সঠিকভাবে দেয়, তবে আপনি প্রসেস বা সার্ভার/কম্পিউটার রিস্টার্ট না করে আপনার ফাইল আনলক করতে পারবেন।

  1. ফাইল সিস্টেম এরর -2147219196 সমাধান করুন

  2. Windows 10 Photos এবং Store অ্যাপে File System Error (-2147219195) সমাধান

  3. Windows 10-এ File System Errors দ্রুত সমাধান করুন

  4. উইন্ডোজ ১০ ফাইল সিস্টেম এরর দ্রুত ও নিরাপদে সমাধান