هنگام انتقال داده در هر کامپیوتر، اگر درایو فلش USB/ذخیرهسازی داده را در حالی که هنوز در حال استفاده از آن است، باز کنید، با خطای “device is currently in use” مواجه میشوید.
همچنین هنگام باز کردن یک دستگاه/بخشی در لینوکس، همین خطا پس از اجرای دستور umount رخ میدهد.
خطای “Umount Target is Busy” در لینوکس به این معنی است که دستگاه شما هنوز در حال استفاده است.
هسته لینوکس از باز کردن دستگاه در حین دسترسی به آن جلوگیری میکند تا از از دست رفتن داده جلوگیری شود.
برای رفع خطای “Unmount Target is Busy”، از هر یک از راهحلهای زیر استفاده میشود:
۱. پیدا کردن و متوقف کردن فرآیندهای فعال
۲. باز کردن اجباری
۳. پیدا کردن و متوقف کردن فرآیندهای در حال دسترسی به فایل
۴. باز کردن (lazy unmount)
پس از خرید VPS لینوکس، میتوانید به تمام سیستمهای فایل نصب شده دسترسی پیدا کنید.
اگر سیستمهای فایل دسترسی یافته باز نشوند، خطای “device is busy” به شما اجازه ادامه کار را نمیدهد.
در ادامه، هر یک از راهحلهای فوق را به تفصیل توضیح خواهیم داد.
رفع خطای “Unmount Target is Busy” در لینوکس
هنگام انتقال داده در هر کامپیوتر، اگر درایو فلش USB/ذخیرهسازی داده را در حالی که هنوز در حال استفاده از آن است، باز کنید، با خطای “device is currently in use” مواجه میشوید.همچنین هنگام باز کردن یک دستگاه/بخشی در لینوکس، همین خطا پس از اجرای دستور umount رخ میدهد.خطای “Umount Target is Busy” در لینوکس به این معنی است که دستگاه شما هنوز در حال استفاده است.هسته لینوکس از باز کردن دستگاه در حین دسترسی به آن جلوگیری میکند تا از از دست رفتن داده جلوگیری شود.برای رفع خطای “Unmount Target is Busy”، از هر یک از راهحلهای زیر استفاده میشود:
- پیدا کردن و متوقف کردن فرآیندهای فعال
- باز کردن اجباری
- پیدا کردن و متوقف کردن فرآیندهای در حال دسترسی به فایل
- باز کردن تنبل (lazy unmount)
پس از خرید VPS لینوکس، میتوانید به تمام سیستمهای فایل نصب شده دسترسی پیدا کنید.اگر سیستمهای فایل دسترسی یافته باز نشوند، خطای “device is busy” به شما اجازه ادامه کار را نمیدهد.در ادامه، هر یک از راهحلهای فوق را به تفصیل توضیح خواهیم داد.
sudo lsof /Path/to/target
راهحل ۱: پیدا کردن و متوقف کردن فرآیندهای فعال
اولین راهحل برای رفع خطای “Unmount Target is Busy” در لینوکس، پیدا کردن و متوقف کردن فرآیندهای در حال استفاده از نقطه نصب است.
برای این کار، میتوانید از دستور زیر استفاده کنید:
fuser -m /mount/point
این دستور تمام فرآیندهای در حال استفاده از نقطه نصب مشخص شده را لیست میکند. خروجی این دستور شامل شناسههای فرآیند (PID) خواهد بود.
وقتی که PIDها نمایش داده شدند، زمان آن است که تمام فرآیندهای در حال اجرا را متوقف کنید.
برای این کار، میتوانید از دستور زیر استفاده کنید:
kill -9 <PID>
این دستور فرآیند با شناسه PID مشخص شده را به طور اجباری متوقف میکند.
پس از متوقف کردن تمام فرآیندهای در حال استفاده از نقطه نصب، باید بتوانید آن را با موفقیت باز کنید.
اگر این راهحل مشکل را حل نکرد، میتوانید از راهحلهای دیگر استفاده کنید.
روش ۲: باز کردن اجباری
در هنگام باز کردن یک NFS (سیستم فایل شبکه)، ممکن است با خطای مورد بحث در این مقاله مواجه شوید.
به این ترتیب، میتوانید از دستور umount force به عنوان راهحل برای جدا کردن دستگاه شلوغ خود استفاده کنید.
از آنجایی که این روش باعث از دست رفتن داده میشود، آن را انتخاب کنید زمانی که دادههای ارزشمند و حساسی ندارید.
برای رفع خطای “Unmount Target is Busy” در لینوکس و باز کردن اجباری دستگاه، دستور زیر را اجرا کنید:
umount -f /mount/point
این دستور به شما اجازه میدهد دستگاه را به طور اجباری باز کنید، اما به یاد داشته باشید که این روش ممکن است منجر به از دست رفتن دادهها شود. اطمینان حاصل کنید که قبل از استفاده از این روش، دادههای مهم خود را پشتیبانگیری کردهاید.
روش ۳: باز کردن (Lazy Unmount)
برای رفع خطای “Unmount Target is Busy”، یک روش منظم باز کردن تنبل است. این عمل باعث باز کردن نقطه نصب از فایل سیستم لینوکس میشود.
برای به آرامی حذف تمام فرآیندهای متصل به دستگاه (که در حال استفاده نیستند)، میتوانید از این راهحل استفاده کنید.
از آنجایی که باز کردن تنبل تمام ارجاعات به سیستم فایل جدا شده را حذف میکند، زمانی که دیگر فرآیندی به سیستم فایلی که باز نشده است دسترسی نداشته باشد، سیستم فایل جدا خواهد شد.
بنابراین، اگر این روش آخرین پیشنهاد شده شما باشد، دستور زیر را تایپ کنید:
sudo umount -l /Path/to/target
به این ترتیب، تمام فرآیندهای ایدهآل به طور خودکار حذف خواهند شد و دستگاه از حالت مونت خارج خواهد شد.
با توجه به مورد استفاده شما، میتوانید هر یک از راهحلهای اخیر برای رفع خطای “Unmount: /mnt: target is busy” را انتخاب کنید.
نتیجه گیری :
در این مقاله، ۴ راهحل مختلف برای حل خطای “Unmount Target is Busy” در لینوکس توضیح داده شد:
۱. جدا کردن دستگاه شلوغ با پیدا کردن و کشتن فرآیندهای فعال (دستور lsof)
۳. استفاده از دستور fuser
۴. باز کردن باز کردن (Lazy Unmount)
به یاد داشته باشید که دستورات lsof و fuser را به عنوان ریشه اجرا کنید تا بتوانید خروجیهای نامحدود را دریافت کنید و از خطای “Unmount: /: target is busy” جلوگیری کنید.
بر اساس سیستم و وضعیت خود، بهترین راهحل را برای حل خطای “Unmount: /: target is busy” انتخاب کنید.