Как убедиться, что все процессы убиты перед размонтированием файловой системы? - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь размонтировать занятую файловую систему, в которой многопоточная программа выполняет непрерывные операции чтения и записи ввода-вывода, из-за которых команда umount завершается неудачей.

root@ubuntu:~ # umount /mount/v1
umount: /mount/v1: target is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

Теперь я попытался убить все процессы, использующие /sbin/fuser -m /mount/v1 -k Но согласно этой документации fuser -k or -K might not be able to detect and kill new processes that are created immediately after the program starts to run., что происходит в моем случае, поскольку некоторые потоки могли выдать запрос ввода-вывода в одно и то же время. Когда я снова go для размонтирования файловой системы, он снова говорит, что он занят, и это становится все oop.

Мой вопрос, как я могу убедиться, что никакие новые процессы не могут делать чтение / записывает в файловую систему, как только команда /sbin/fuser -m /mount/v1 -k введена, так что файловая система может быть аккуратно размонтирована.

...