Як відключити пристрій, як це зробити?


8

Я встановив блоковий пристрій (внутрішній жорсткий диск) ~/HD, і я намагаюся,

~# umount ~/HD

Він відповідає,

umount: device is busy.

Тепер я вбиваю всі процеси вручну, досліджуючи

~# fuser -m ~/HD

Я також переконуюсь, що насправді жоден процес не має доступу до ~/HDшляху

~# lsof | grep HD

Все ще umount ~/HDкаже device is busyнавіть з -fваріантом.

PS: Я не хочу використовувати цю -lопцію umount, оскільки змонтований пристрій - це фактично зашифрований пристрій для відображення, який, в свою чергу, не буде відключений, якщо пристрій чітко відключено.

Тому в основному моє питання полягає в тому , як на самому ділі змусити umountдемонтувати пристрій або Як пристрій по- , як і раніше позначається як зайнятий в той час як не один процес не доступу до неї (або , по крайней мере , fuserі lsofне повідомляє про це) , і що я можу поробити?

Я на Ubuntu 9.10 x64.


Відповіді:


3

Ви побачите таку поведінку, якщо ви встановили щось інше у підкаталозі ~ / hd. У цьому випадку ані фюзер, ані lsof нічого не покажуть. Якщо ви нічого не встановили під ~ / hd ('mount' відповість на це запитання), я не знаю, що перевірити.


Я вибираю вашу відповідь як найкращу, навіть це не було моїм станом, але це може допомогти іншим. Крім того, не можете знайти кращої відповіді. ;)
Вікрант Чадхарі

5

Переконайтеся, що у вашому поточному робочому каталозі (запустіть "pwd") не нижче ~ / hd. Якщо ви зараз перебуваєте в цьому каталозі, umount відмовиться демонструвати.


3

Команда lsof підкаже, який процес (и) утримує файл відкритим.


2

для пошуку активних процесів / виконання користувачів:

fuser -u / шлях / до / монтувати

потім виконайте такі, щоб видалити їх:

fuser -k / шлях / до / кріплення

нарешті демонтувати порушила пристрій.


Небезпечний. Використовуйте -Mтакож.
Том Хейл

1

Larsks писав: "Таку поведінку ви побачите, якщо ви встановили щось інше у підкаталозі ~ / hd. У цьому випадку ні fuser, ні lsof нічого не покажуть".

Використання lsof з grep покаже використання підкаталогу - наприклад, "lsof | grep HD".

У мене була та сама проблема, що і в оригінальному плакаті, і я знайшов причину за допомогою команди, наведеної вище.


0

Ви намагалися використовувати синхронізацію ?

Команда синхронізації очищає кешова файлова система, примушуючи записані зміни на блоки на диску.


Синхронізувати не потрібно - umount змиває кеш-пам'ять за необхідності.
Кевін Панько

0

Якщо ви дійсно хочете просто відключити його, ви можете використовувати umount -f

від людини демонтувати :

-f     Force unmount (in case of an unreachable NFS system).  (Requires kernel 2.1.116 or later.)

Не працює, але це не ваша вина. Це вина Лінуса. :-(
peterh

0

Я не зміг відключити, оскільки у користувача був відкритий сеанс SMB. Варто перевірити.


1
Це здається скоріше коментарем, ніж відповіддю на запитання 5 років.
Рамхаунд

у мене не було представника, і я не буду з downvotes, але чи має значення вік, коли повідомлення має ~ 21k переглядів? Ось куди мене ведуть google сьогодні та lsof | grep / mnt / disk вирішив мою проблему
FreeSoftwareServers

1
Так; це важливо, тому що коментарі - це не відповіді. Ви можете легко відредагувати свою відповідь і зробити її відповіддю, але наразі те, як вона написана, схоже на коментар. Відповідь детально описує рішення та конкретно відповідає на запитання, яке було задано. Ви не маєте репутації розміщувати коментар як відповідь - це не те, як ви пишете коментар.
Рамхаунд

Звичайно, я хотів зробити це коментарем, але не зміг, але ви посилаєтесь на те, що йому 5 років, як це важливо. Я
оновлю

1
Весь вміст важливий. Ваша відповідь поставила це питання на 1-й сторінці. Якщо ви хочете прокоментувати публікацію корисного детального змісту до питань, на які ви знаєте відповідь, або задайте детальні конкретні запитання
Рамхаунд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.