Způsoby platby Abuse

Ошибка zařízení nebo prostředek obsazen

29.01.2024, 22:39

Při práci s flash disky, disky, obrázky se často objevuje chyba device or resource busy. Může se zobrazit při pokusu o odpojení externího disku nebo diskového oddílu nebo při pokusu o přesunutí či odstranění souboru. V tomto článku se budeme zabývat důvody, proč se tato chyba může vyskytnout, a také způsoby jejího odstranění.

Proč se zobrazuje chyba zařízení nebo obsazených prostředků?

Tato zpráva znamená, že zařízení nebo prostředek je obsazen. Pokud to vysvětlíte podrobněji - soubor, který se snažíte odstranit, nebo disk, který potřebujete odpojit, je stále používán některým ze spuštěných programů. To může být způsobeno tím, že program ještě nedokončil svou práci, zamrzl nebo se v průběhu jeho práce vyskytly nějaké problémy.

Chyba může nastat při pokusu o provedení operace se souborem, který je již používán jiným procesem nebo programem. Často problém souvisí s otevřeným souborem, uzamčeným zařízením, síťovým připojením. V případě jednotky flash ji můžete jednoduše vyjmout z počítače, ale to není řešení, protože existuje vysoká pravděpodobnost ztráty neuložených dat. Existují způsoby, jak tento problém obejít.

Jak vyřešit problém se zařízením nebo obsazenými prostředky?

Nejprve je třeba ukončit programy, které mohou používat soubor nebo některý ze souborů na vyměnitelném médiu. Pokud se přehrává některý z video souborů, měli byste zavřít přehrávač. A teprve poté se pokuste znovu provést operace.

Pokud nevíte, který program vám brání v provedení operace, můžete to velmi snadno zjistit pomocí příkazu lsof. Stačí jej spustit a prosít pouze ty položky, které se vztahují k přípojnému bodu vašeho média:

lsof | grep /media/sergiy/83AE-2346

Můžete také prosít procesy, které potřebujete, v samotném nástroji, použijte volbu +D, to je ještě lepší, protože se nezobrazí systémové služby, ale pouze program, který potřebujete ukončit:

lsof +D /media/sergiy/83AE-2346

Tímto způsobem uvidíte všechny procesy, které používají soubory na našem médiu, a ukončíte je příkazem kill. V našem případě potřebujeme ukončit totemový přehrávač s PID 5616:

$ kill -TERM 5616

Jak zjistit, které procesy používají soubor? Použijte příkaz fuser:

fuser -vm /home/sergiy/83AE-2346

Zobrazí se všechny potřebné informace: zobrazí se uživatel, jehož jménem proces běží. Stejným způsobem jej můžete ukončit:

Pokud jste zavřeli všechny programy, ale nepomohlo to, můžete zkusit vymazat systémovou mezipaměť souborů pomocí příkazu, jako je tento:

sync && echo 2 > /proc/sys/vm/drop_caches

To je prozatím vše.