A pendrive-okkal, lemezekkel, képekkel való munka során gyakran megjelenik a hiba device or resource busy. Megjelenhet, amikor megpróbál egy külső lemezt vagy partíciót leválasztani, vagy amikor megpróbál egy fájlt áthelyezni vagy törölni. Ebben a cikkben arról lesz szó, hogy miért fordulhat elő ez a hiba, valamint arról, hogy miként lehet kijavítani.
Az üzenet azt jelenti, hogy egy eszköz vagy erőforrás foglalt. Ha részletesebben elmagyarázza - a törlendő fájlt vagy a leválasztandó lemezt még használja valamelyik futó program. Ez azért lehet, mert a program még nem fejezte be a munkáját, lefagyott, vagy valamilyen probléma merült fel a munkája során.
Hiba akkor is előfordulhat, ha olyan fájlon próbál műveletet végrehajtani, amelyet már egy másik folyamat vagy program használ. Gyakran előfordul, hogy a probléma egy nyitott fájlhoz, egy zárolt eszközhöz, hálózati kapcsolathoz kapcsolódik. Egy pendrive esetében egyszerűen eltávolíthatja azt a számítógépből, de ez nem megoldás, mert nagy a valószínűsége, hogy a nem mentett adatok elvesznek. Vannak módok a probléma megkerülésére.
Az első teendő, hogy bezárja azokat a programokat, amelyek esetleg használják a fájlt vagy a cserélhető adathordozón lévő fájlok egyikét. Ha az egyik videofájl lejátszása folyamatban van, akkor zárja be a lejátszót. És csak ezt követően próbálja meg újra elvégezni a műveleteket.
Ha nem tudja, hogy melyik program akadályozza meg egy művelet végrehajtását, az lsof paranccsal nagyon könnyen kiderítheti. Csak futtasd le, és csak azokat a bejegyzéseket szitáld át, amelyek az adathordozód csatlakoztatási pontjára utalnak:
lsof | grep /media/sergiy/83AE-2346
Magában a segédprogramban is kiszűrheted a szükséges folyamatokat, használd a +D opciót, ez még jobb, mert nem a rendszerszolgáltatásokat mutatja, hanem csak azt a programot, amit meg kell szüntetned:
lsof +D /media/sergiy/83AE-2346
Így látni fogjuk az összes olyan folyamatot, amely az adathordozónkon lévő fájlokat használja, és a kill paranccsal megszüntethetjük őket. Esetünkben a PID 5616 azonosítóval rendelkező totem lejátszót kell megszüntetnünk:
$ kill -TERM 5616
Hogyan láthatjuk, hogy mely folyamatok használják a fájlt? Használjuk a fuser parancsot:
fuser -vm /home/sergiy/83AE-2346
Minden szükséges információt látni fog: megjelenik a felhasználó, akinek a nevében a folyamat fut. Ugyanígy bezárhatja azt is:
Ha minden programot bezártál, de ez nem segített, megpróbálhatod a rendszer fájl gyorsítótárát törölni egy ilyen paranccsal:
sync && echo 2 > /proc/sys/vm/drop_caches
Egyelőre ennyi.