আপনার ম্যাক যদি বলে যে একটি ফাইল ব্যবহারে রয়েছে বা এটি আপনাকে সরাতে না দেয়, তবে প্রথমে সম্ভাব্য অ্যাপগুলো পরীক্ষা করে দেখুন যেগুলোতে এটি খোলা থাকতে পারে। সুনির্দিষ্ট উত্তরের জন্য, ফাইলের সম্পূর্ণ পাথসহ বিল্ট-ইন টার্মিনাল কমান্ড lsof ব্যবহার করুন; এর আউটপুট ওপেন রেফারেন্স ধরে রাখা প্রসেসটিকে শনাক্ত করতে পারে। তারপর স্বাভাবিকভাবে সেই অ্যাপটি বন্ধ করুন এবং ফাইল অপারেশনটি আবার চেষ্টা করুন। macOS এমন কোনো ফাইন্ডার বাটন প্রদান করে না যা সর্বদা সংশ্লিষ্ট অ্যাপটির নাম বলে দেয়।
প্রথমে পরীক্ষা করুন ফাইলটি আসলেই খোলা আছে কি না
অ্যাপল পরামর্শ দেয় যে কোনো আইটেম সরানো বা কপি করা না গেলে তা অন্য কোনো অ্যাপে খোলা নেই তা নিশ্চিত করতে। সম্ভাব্য অ্যাপগুলোর দিকে নজর দিন—যেমন ডকুমেন্ট এডিটর, ইমেজ ভিউয়ার, মিডিয়া প্লেয়ার, বা প্রিভিউ প্রদর্শনকারী কোনো উইন্ডো—এবং অ্যাপের ভেতর থেকে ফাইলটি বন্ধ করুন। আগে যেকোনো পরিবর্তন সেভ করে নিন। আপনি যদি ফাইলে একটি লক আইকন দেখতে পান, তবে তা আলাদা কোনো ডকুমেন্ট-লক সেটিংস হতে পারে; একটি খোলা ফাইল এবং একটি লক করা ফাইল আলাদা সমস্যা। অ্যাপলের সরানো এবং কপি করার নির্দেশনা উভয় যাচাইয়ের বিবরণ দেয়।
ফাইন্ডার অ্যালার্টে কখনো কখনো কোনো অ্যাপের নাম উল্লেখ থাকতে পারে, তবে এটি কেবল আইটেমটি ব্যবহারে রয়েছে বলেও রিপোর্ট করতে পারে। অ্যাক্টিভিটি মনিটর চলমান অ্যাপ এবং প্রসেসের তালিকা দেয় এবং কিছু অপ্রতিক্রিয়াশীল প্রসেস চিহ্নিত করে, তবে কোন প্রসেসে নির্দিষ্ট কোনো ফাইল খোলা আছে তা অনুসন্ধান করার মতো তালিকা এটি নয়। সিপিইউ বা মেমোরি ব্যবহারের ওপর ভিত্তি করে অনুমান করার চেয়ে কোনো প্রসেসকে সন্দেহ করার কারণ পাওয়ার পর তার বিরুদ্ধে ব্যবস্থা নিতে এটি ব্যবহার করুন।
টার্মিনাল দিয়ে প্রসেসটি শনাক্ত করুন
lsof কমান্ডের অর্থ হলো “list open files”। এর ডকুমেন্টেশনে নির্দিষ্ট ফাইল ব্যবহারকারী প্রসেস খুঁজে বের করার বিষয়টি অন্তর্ভুক্ত রয়েছে এবং এটি macOS সমর্থন করে। lsof প্রজেক্ট ডকুমেন্টেশন এর মৌলিক রূপটি প্রদান করে: lsof /path/to/file।
ফাইন্ডারে ফাইলটি খুঁজুন এবং এর নাম ও অবস্থান নিশ্চিত করতে File > Get Info বেছে নিন। সেই অবস্থান এবং ফাইলের নাম থেকে সম্পূর্ণ পাথ তৈরি করুন। ডিস্ক ফরম্যাট বাধ্য করলে পাথগুলো কেস-সংবেদনশীল (case-sensitive) হয়; সম্পূর্ণ পাথটি উদ্ধৃতি চিহ্নের (quotation marks) মধ্যে থাকলে পাথে স্পেস থাকা সমস্যা নয়।
Applications > Utilities থেকে Terminal খুলুন, তারপর উদাহরণস্বরূপ দেওয়া পাথটি আসল পাথ দিয়ে প্রতিস্থাপন করে এই কমান্ডটি চালান:
lsof "/Users/yourname/Documents/Project Notes/report.pdf"
- ফলাফলটি পড়ুন।
COMMANDকলামে প্রসেস বা অ্যাপের নাম দেওয়া থাকে এবংPIDহলো এর প্রসেস আইডি।NAMEকলামে আপনার অনুসন্ধান করা ফাইলের পাথটি দেখানো উচিত। যদি একাধিক সারি বা প্রসেস প্রদর্শিত হয়, তবে সবকটি মেলানো নাম নোট করুন: একাধিক প্রসেসে একটি ফাইল খোলা থাকতে পারে। কোনো প্রসেসের নাম অ্যাপের পরিচিত নাম থেকে ভিন্ন হতে পারে, তাই কী বন্ধ করবেন তা সিদ্ধান্ত নেওয়ার আগে অ্যাক্টিভিটি মনিটরে সেই হুবহু নামটি অনুসন্ধান করুন।
কমান্ডটি কেবল সেই রেফারেন্সগুলোই রিপোর্ট করে যা এটি নিরীক্ষণ করতে পারে। যদি এটি কোনো মেলানো সারি না দেখায়, তবে অ্যাপটি ইতিমধ্যে ফাইলটি ছেড়ে দিয়ে থাকতে পারে, আপনার পাথ ভুল হতে পারে, অথবা macOS আপনার ব্যবহারকারী অ্যাকাউন্টকে সংশ্লিষ্ট প্রসেস নিরীক্ষণ করার অনুমতি নাও দিতে পারে। পাথটি পরীক্ষা করুন এবং সতর্কবার্তাটি থাকা অবস্থাতেই পুনরায় চেষ্টা করুন। আপনি যদি কমান্ডটি বোঝেন এবং অন্য কোনো ব্যবহারকারীর প্রসেস নিরীক্ষণ করার প্রয়োজন হয়, তবে sudo lsof "/full/path/to/file" অ্যাডমিনিস্ট্রেটরের পাসওয়ার্ড চাইতে পারে; অতিরিক্ত অ্যাক্সেস আরও তথ্য প্রকাশ করতে পারে, তবে এটি কেবল এই রিড-অনলি নিরীক্ষার জন্যই ব্যবহার করা উচিত। lsof-এর ডকুমেন্টেশন এটিও সতর্ক করে যে প্রসেসের অবস্থা পরিবর্তনের সাথে সাথে এটি ফাইল বাদ দিতে পারে। একটি খালি ফলাফল কোনো অ্যাপ কখনোই ফাইলটি ব্যবহার করেনি তার প্রমাণ নয়।
শনাক্ত করা অ্যাপটি নিরাপদে বন্ধ করুন
কাজ সেভ করুন এবং প্রথমে অ্যাপের Quit কমান্ডটি ব্যবহার করুন। যদি এটি সাড়া না দেয়, তবে অ্যাক্টিভিটি মনিটর খুলুন, নাম দিয়ে প্রসেসটি খুঁজুন, এটি নির্বাচন করুন এবং স্টপ বাটনে ক্লিক করুন। Force Quit-এর আগে Quit বেছে নিন। অ্যাপল জানায় যে Force Quit অবিলম্বে প্রসেসটি সমাপ্ত করে; অসংরক্ষিত কাজ হারিয়ে যেতে পারে এবং সেই প্রসেসের ওপর নির্ভরশীল অন্যান্য অ্যাপ সমস্যায় পড়তে পারে। কিছু প্রসেস macOS-এর অন্তর্ভুক্ত বা অন্যান্য অ্যাপকে সমর্থন করে, তাই আউটপুটে প্রদর্শিত হলেই অপরিচিত কোনো সিস্টেম প্রসেস জোরপূর্বক বন্ধ (force quit) করবেন না। অ্যাপলের অ্যাক্টিভিটি মনিটর সংক্রান্ত নির্দেশাবলীতে এই পার্থক্য এবং কীভাবে ক্রমানুসারে প্রসেস দেখতে হয় তা ব্যাখ্যা করা হয়েছে।
সম্ভাব্য প্রসেসটি বন্ধ করার পর, একই পাথে আবার lsof চালান। যদি মিলে যাওয়া প্রসেসটি আর না থাকে, তবে ফাইলটি আবার সরানো, কপি করা বা মুছে ফেলার চেষ্টা করুন। যদি এটি থেকেই যায়, তবে অন্য মিলে যাওয়া প্রসেসের নামগুলো পরীক্ষা করুন এবং পরবর্তী পদক্ষেপে যাওয়ার আগে স্বাভাবিকভাবে তাদের ফাইলগুলো বন্ধ করুন।
যদি কোনো অ্যাপ প্রদর্শিত না হয়
ফলাফল না পাওয়ার অর্থ এই নয় যে সমস্যাটি কোনো অ্যাপের লকের কারণেই হয়েছে। নিশ্চিত করুন যে আপনি মূল ফাইলের সঠিক পাথটিই অনুসন্ধান করছেন, তারপর অ্যাপলের নথিবদ্ধ অন্যান্য কারণগুলো বিবেচনা করুন: লক করা কোনো আইটেম, অপর্যাপ্ত জায়গা, গন্তব্যস্থলের অনুমতি সংক্রান্ত সমস্যা, বা কোনো এক্সটার্নাল ড্রাইভ ফরম্যাট যাতে macOS লিখতে পারে না। নেটওয়ার্ক বা এক্সটার্নাল স্টোরেজের ক্ষেত্রে সংযোগ বা ভলিউমের অবস্থাও অপারেশনে প্রভাব ফেলতে পারে। রিস্টার্ট দিলে হয়তো অকার্যকর রেফারেন্স দূর হতে পারে, তবে আগে কাজ সেভ করে নিন এবং তুলনামূলক সহজ কারণগুলো পরীক্ষা করার পরেই এটি ব্যবহার করুন। আইটেম সরানো বা কপি করার ক্ষেত্রে অ্যাপলের ট্রাবলশুটিং ধাপগুলোতে এই বিকল্পগুলোর বেশ কয়েকটি অন্তর্ভুক্ত রয়েছে।
কার্যকর ক্রমটি হলো: পাথ যাচাই করুন, সমস্যাটি ঘটার সময় lsof ব্যবহার করুন, শনাক্ত করা অ্যাপটি সঠিকভাবে বন্ধ করুন এবং পুনরায় চেষ্টা করুন। ফোর্স কুইটকে শেষ উপায় হিসেবে বিবেচনা করুন, এবং অনুমতি বা পরিবর্তনশীল প্রসেস অবস্থা তথ্য লুকিয়ে রাখতে পারে বলে কমান্ডের খালি ফলাফলকে চূড়ান্ত সিদ্ধান্তহীন হিসেবে গণ্য করুন।
তথ্যসূত্র
ম্যাকে কোনো আইটেম সরাতে বা কপি করতে না পারলে — অ্যাপল সাপোর্ট
ম্যাকে অ্যাক্টিভিটি মনিটরে কোনো অ্যাপ বা প্রসেস বন্ধ করা — অ্যাপল সাপোর্ট
ম্যাকে কোনো অ্যাপ জমে গেলে বা অপ্রত্যাশিতভাবে বন্ধ হয়ে গেলে — অ্যাপল সাপোর্ট
lsof (LiSt Open Files) — lsof প্রজেক্ট