نگارش قبل در دو طرفنگارش قبلنگارش بعد | نگارش قبل |
terminal:u:how_to_use_the_umount_command [2018/12/27 13:48] – [رفع مشکلات Unmount] phoenix | terminal:u:how_to_use_the_umount_command [2018/12/27 14:02] (فعلی) – [طریقه استفاده از دستور lsof برای Unmount کردن] phoenix |
---|
umount: /run/media/phoenix/EXT-HARD: target is busy. | umount: /run/media/phoenix/EXT-HARD: target is busy. |
</code> | </code> |
خطای بالا به این معنی است که نقطه اتصالی به نام ''EXT-HARD'' اشغال است. یک علت خطای ''busy'' به خاطر این است که شاید کاربری در دایرکتوری ''/run/media/phoenix/EXT-HARD'' قرار دارد یعنی دایرکتوری جاری برای آن کاربر دایرکتوری ''/run/media/phoenix/EXT-HARD'' است. میتوانید از [[terminal:p:display_the_path_of_your_current_directory|دستور pwd]] برای فهمیدن دایرکتوری جاری استفاده کنید. دلیل دیگر آن این است که کاربر با فرآیندی در حال استفاده از یک فایل که درون این دایرکتوری وجود دارد هستند [[ترمینال:دستور lsof (نمایش PID در حال استفاده از یک فایل)]] برای فهرست کردن فایل های باز استفاده میشود. | خطای بالا به این معنی است که نقطه اتصالی به نام ''EXT-HARD'' اشغال است. یک علت خطای ''busy'' به خاطر این است که شاید کاربری در دایرکتوری ''/run/media/phoenix/EXT-HARD'' قرار دارد یعنی دایرکتوری جاری برای آن کاربر دایرکتوری ''/run/media/phoenix/EXT-HARD'' است. میتوانید از [[terminal:p:display_the_path_of_your_current_directory|دستور pwd]] برای فهمیدن دایرکتوری جاری استفاده کنید. دلیل دیگر آن این است که کاربر با فرآیندی در حال استفاده از یک فایل که درون این دایرکتوری وجود دارد هستند [[terminal:l:how_to_use_the_linux_lsof_command_to_list_open_files| دستور lsof]] برای فهرست کردن فایل های باز استفاده میشود. |
===== طریقه استفاده از دستور lsof برای Unmount کردن ===== | ===== طریقه استفاده از دستور lsof برای Unmount کردن ===== |
فرض کنید سیستم فایل بر روی دایرکتوری ''mnt/hdd/'' اتصال داده شده است و میخواهید این نقطه اتصال را قطع کنید ولی با مشکل ''busy'' بودن مواجه میشوید. برای فهرست کردن لیستی از فرایندهای مرتبط با دایرکتوری ''mnt/hdd/'' از [[ترمینال:دستور lsof (نمایش PID در حال استفاده از یک فایل)]] بصورت زیر استفاده میکنیم. | فرض کنید سیستم فایل بر روی دایرکتوری ''mnt/hdd/'' اتصال داده شده است و میخواهید این نقطه اتصال را قطع کنید ولی با مشکل ''busy'' بودن مواجه میشوید. برای فهرست کردن لیستی از فرایندهای مرتبط با دایرکتوری ''mnt/hdd/'' از [[terminal:l:how_to_use_the_linux_lsof_command_to_list_open_files| دستور lsof]] بصورت زیر استفاده میکنیم. |
<code;bash;> | <code;bash;> |
lsof /mnt/hdd/ | lsof /mnt/hdd/ |
lsof 31380 phoenix cwd DIR 8,17 4096 20323 /mnt/hdd/software | lsof 31380 phoenix cwd DIR 8,17 4096 20323 /mnt/hdd/software |
</code> | </code> |
پس از بدست آوردن شماره ''pid'' هر یک از فرایندها باید آنها را با [[ترمینال:دستور_kill_خاموش_کردن_فرآیند|]] از بین ببریم. فرمت کلی برای اینکار بصورت زیر است. | پس از بدست آوردن شماره ''pid'' هر یک از فرایندها باید آنها را با [[terminal:k:how_to_kill_a_process_from_the_command_line|دستور kill]] از بین ببریم. فرمت کلی برای اینکار بصورت زیر است. |
<code;bash;> | <code;bash;> |
kill -l5 | kill -l5 |
</code> | </code> |
نکته ای که درباره خروجی دستور بالا خط سوم و چهارم است که[[ترمینال:دستور_more_نمایش_فایل_متنی_بصورت_صفحه_به_صفحه| دستور more]] را نشان میدهند این است که ستون **fd** در سومین خط بیانگر این است که دایرکتوری جاری یا **cwd** آن دایرکتوری ''mnt/hdd/software/'' است و این به این معنی است که [[ترمینال:دستور_more_نمایش_فایل_متنی_بصورت_صفحه_به_صفحه|دستور more]] در حال اجرا شدن و خواندن یک فایل در دایرکتوری ''mnt/hdd/software/'' است و فایلی که [[ترمینال:دستور_more_نمایش_فایل_متنی_بصورت_صفحه_به_صفحه|دستور more]] در حال خواندن آن است **test.txt** نام دارد در ستون **fd** از خط چهارم **3r** بیانگر خواندن فایل توسط[[ترمینال:دستور_more_نمایش_فایل_متنی_بصورت_صفحه_به_صفحه| دستور more]] است. | نکته ای که درباره خروجی دستور بالا خط سوم و چهارم است که [[terminal:m:display_long_text_file_per_page|دستور more ]] را نشان میدهند این است که ستون **fd** در سومین خط بیانگر این است که دایرکتوری جاری یا **cwd** آن دایرکتوری ''mnt/hdd/software/'' است و این به این معنی است که [[terminal:m:display_long_text_file_per_page|دستور more ]] در حال اجرا شدن و خواندن یک فایل در دایرکتوری ''mnt/hdd/software/'' است و فایلی که [[terminal:m:display_long_text_file_per_page|دستور more ]] در حال خواندن آن است **test.txt** نام دارد در ستون **fd** از خط چهارم **3r** بیانگر خواندن فایل توسط [[terminal:m:display_long_text_file_per_page|دستور more ]] است. |
به هر حال باید با [[ترمینال:دستور_lsof_نمایش_pid_در_حال_استفاده_از_یک_فایل|دستور lsof]] شماره pid ها بدست بیاورید و سپس با[[ترمینال:دستور_kill_خاموش_کردن_فرآیند| دستور kill]] آن فرایندها را از بین ببرید و در آخر با دستور umount دایرکتوری را Unmount کنید | به هر حال باید با [[terminal:l:how_to_use_the_linux_lsof_command_to_list_open_files| دستور lsof]] شماره pid ها بدست بیاورید و سپس با [[terminal:k:how_to_kill_a_process_from_the_command_line|دستور kill]] آن فرایندها را از بین ببرید و در آخر با دستور umount دایرکتوری را Unmount کنید |