Vaak verschijnt tijdens het werken met flashdrives, schijven en afbeeldingen de foutmelding Device or Resource busy. Deze kan verschijnen wanneer je een externe schijf of partitie probeert te ontkoppelen, of wanneer je een bestand probeert te verplaatsen of verwijderen. In dit artikel bespreken we waarom deze fout kan optreden en hoe u hem kunt oplossen.
De melding betekent dat een apparaat of bron bezet is. Als je dit nader toelicht - het bestand dat je probeert te verwijderen of de schijf die je moet unmounten wordt nog steeds gebruikt door een van de draaiende programma's. Dit kan zijn omdat het programma nog niet klaar is met het verwijderen van het bestand of de schijf. Dit kan zijn omdat het programma nog niet klaar is met zijn werk, bevroren is, of er zijn problemen tijdens het werkproces.
Er kan een fout optreden wanneer je een bewerking probeert uit te voeren op een bestand dat al wordt gebruikt door een ander proces of programma. Vaak is het probleem gerelateerd aan een open bestand, een vergrendeld apparaat, een netwerkverbinding. In het geval van een flashdrive kunt u deze gewoon van de pc verwijderen, maar dit is geen oplossing, omdat de kans groot is dat u niet-opgeslagen gegevens verliest. Er zijn manieren om dit probleem te omzeilen.
Het eerste wat je moet doen is programma's sluiten die mogelijk het bestand of een van de bestanden op de verwisselbare media gebruiken. Als een van de videobestanden wordt afgespeeld, moet je de speler sluiten. En probeer daarna pas weer bewerkingen uit te voeren.
Als je niet weet welk programma je verhindert om een bewerking uit te voeren, kun je daar heel gemakkelijk achter komen met behulp van het lsof commando. Voer het uit en zeef alleen de vermeldingen die verwijzen naar het koppelpunt van je medium:
lsof | grep /media/sergiy/83AE-2346
Je kunt de processen die je nodig hebt ook uitzeven in het hulpprogramma zelf, gebruik de optie +D. Dit is nog beter omdat het geen systeemservices toont, maar alleen het programma dat je moet beëindigen:
lsof +D /media/sergiy/83AE-2346
Op deze manier zie je alle processen die de bestanden op onze media gebruiken en kun je ze beëindigen met de kill-opdracht. In ons geval moeten we de totemspeler met PID 5616 beëindigen:
$ kill -TERM 5616
Hoe zie je welke processen het bestand gebruiken? Gebruik de opdracht fuser:
fuser -vm /home/sergiy/83AE-2346
Je ziet alle benodigde informatie: de gebruiker namens wie het proces draait wordt weergegeven. Op dezelfde manier kun je het afsluiten:
Als je alle programma's hebt afgesloten, maar het heeft niet geholpen, kun je proberen de bestandscache van het systeem te wissen met een commando als dit:
sync && echo 2 > /proc/sys/vm/drop_caches
Dat is alles voor nu.